2200 |
How can I delete the selected items (including descendants)
// KeyDown event - Occurs when the user presses a key while an object has the focus. void onEvent_KeyDown(COMVariant /*short*/ _KeyCode,int _Shift) { ; exg2antt1.RemoveSelection(); } public void init() { COM com_Chart,com_Items; anytype var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.SingleSel(false); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.SelBackColor(WinApi::RGB2int(240,240,240)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/6/2017",213))); h = com_Items.AddItem("Task 2"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213))); com_Items.SelectItem(h,true); h = com_Items.AddItem("Task 3"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)),""); com_Items.SelectItem(h,true); com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2199 |
Dark mode
public void init() { COM com_Chart; anytype var_Chart; str back,fore,var_s,var_s1,var_s2; ; super(); exg2antt1.BeginUpdate(); back = 65536; fore = 16777215; var_s = "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg"; var_s = var_s + "mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd"; var_s = var_s + "r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); var_s1 = "gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4bi"; var_s1 = var_s1 + "aKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA"; exg2antt1.VisualAppearance().Add(2,COMVariant::createFromStr(var_s1)); var_s2 = "gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5Cj"; var_s2 = var_s2 + "mG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxb"; var_s2 = var_s2 + "buaaXLhGCYBgIA=="; exg2antt1.VisualAppearance().Add(3,COMVariant::createFromStr(var_s2)); exg2antt1.HeaderAppearance(5/*Bump*/); exg2antt1.BackColor(back); exg2antt1.BackColorHeader(back); exg2antt1.BackColorLevelHeader(back); exg2antt1.BackColorSortBar(back); exg2antt1.BackColorSortBarCaption(back); exg2antt1.FilterBarBackColor(back); exg2antt1.FilterBarForeColor(fore); exg2antt1.ForeColor(fore); exg2antt1.ForeColorHeader(fore); exg2antt1.ForeColorSortBar(fore); exg2antt1.SelBackColor(fore); exg2antt1.SelForeColor(back); exg2antt1.Background(0/*exHeaderFilterBarButton*/,0x1000000); exg2antt1.Background(18/*exSplitBar*/,0x2000000); exg2antt1.Background(32/*exCursorHoverColumn*/,-1); exg2antt1.Background(64/*exToolTipAppearance*/,0x3000000); exg2antt1.Background(65/*exToolTipBackColor*/,back); exg2antt1.Background(66/*exToolTipForeColor*/,fore); exg2antt1.Background(20/*exSelBackColorFilter*/,fore); exg2antt1.Background(21/*exSelForeColorFilter*/,back); exg2antt1.Background(26/*exBackColorFilter*/,back); exg2antt1.Background(27/*exForeColorFilter*/,fore); exg2antt1.Background(28/*exSortBarLinkColor*/,back); exg2antt1.Background(142/*exCSplitBar*/,0x2000000); exg2antt1.Background(141/*exHSplitBar*/,0x2000000); exg2antt1.Background(186/*exTreeLinesColor*/,fore); exg2antt1.Background(511/*exScrollSizeGrip*/,back); exg2antt1.Description(25/*exFilterBarExclude*/,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.BackColor(back); com_Chart.BackColorLevelHeader(back); com_Chart.ForeColor(fore); com_Chart.ForeColorLevelHeader(fore); exg2antt1.EndUpdate(); } |
2198 |
I have changed the font, but the item's height remains the same. What I am doing wrong
public void init() { COM com_Bar; anytype var_Bar; ; super(); exg2antt1.BeginUpdate(); exg2antt1.ColumnAutoResize(false); exg2antt1.LoadXML("http://www.exontrol.net/testing.xml"); exg2antt1.Font().Size(22); exg2antt1.HeaderHeight(42); exg2antt1.DefaultItemHeight(36); exg2antt1.Items().ItemHeight(0,exg2antt1.DefaultItemHeight()); exg2antt1.Chart().UnitWidth(exg2antt1.DefaultItemHeight()); exg2antt1.Chart().UnitScale(exg2antt1.Chart().UnitScale()); var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(18); exg2antt1.EndUpdate(); } |
2197 |
I have changed from Project Summary Task to own task created with EBN to get a black frame then using different colors for project status. How can I enlarge the EBN being applied to the head-arrows shows the start/end margins of the range
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemBold(_Item,true); com_Items.AddBar(_Item,com_Items.CellValue(_Item,com_Items.GroupItem(_Item)),COMVariant::createFromDate(str2Date("12/2/2017",213)),COMVariant::createFromDate(str2Date("12/2/2017",213))); com_Items.DefineSummaryBars(_Item,"",-3,""); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void onEvent_AddItem(int _Item) { ; exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("12/4/2017",213)),COMVariant::createFromDate(str2Date("12/10/2017",213))); } public void init() { COM com_Appearance,com_Bar,com_Bars,com_Chart,com_Columns,com_Items; anytype var_Appearance,var_Bar,var_Bars,var_Chart,var_Columns,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCQBQAWCQ1DAJIqjOAkEhiGCUQClYYZBjWG4dQLOEYTNC"; var_s = var_s + "8WwHCIZBpEWgKChGKAlSANMjTZLkdR1ECmIhoSg4coKMoERBJco1BDdOQGAyEQShEC4fgmVwAP7aNoWVC1JynM6XaKmGbJAA6CZgQKGFh2LAdTzSf61cAtWpaUjmRZaY"; var_s = var_s + "SAFDxpiCYpfQjdUB2JDVfTVP6LbawS4KZgOR5eRboETYeAFcSZGrNMKEXLLSyudKRRreWQaPpGCZTRSUdZxSrbBhvEqlbRNMhwSBEEigNIxToOU4jFgeCROQwQRK9BBo"; var_s = var_s + "G0CQUEIdhAAyJJvjUeZdmmb5+C8HhiAeZJznoPQ+EgT4rlua4BjCfg+k8d5TkUCZ4w+fxfB+X5xn4fheGebZoH8X53koAR9CASAWAUfofjgJgKH+IJHnGcIDmER5iBEe"; var_s = var_s + "ZgmgVgLgGYYYGoFRTCGaIGAYRYiCiFgmgmYQEF4KIKmKSBRBqCxjAiRgvgwYxIiGQYNmOCJlDUOpeAQBCAg="; com_Appearance.Add(1,COMVariant::createFromStr(var_s)); com_Appearance.Add(2,"CP:1 -6 0 6 0"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/2/2017",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,342); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("S1"); com_Bar = var_Bar; com_Bar.Color(0x1000000); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("S2"); com_Bar = var_Bar; com_Bar.Color(0x2ff0000); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("C1"); COM::createFromVariant(com_Columns.Add("C2")).AllowSort(false); exg2antt1.SingleSort(false); exg2antt1.AllowGroupBy(true); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(1/*Flat*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("S1"),COMVariant::createFromInt(1),"SubItem A.1"); com_Items.CellValue(com_Items.AddItem("S1"),COMVariant::createFromInt(1),"SubItem A.1"); com_Items.CellValue(com_Items.AddItem("S2"),COMVariant::createFromInt(1),"SubItem B.1"); com_Items.CellValue(com_Items.AddItem("S2"),COMVariant::createFromInt(1),"SubItem B.1"); exg2antt1.Layout("MultipleSort = \"C0:2\""); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,342); } */ |
2196 |
How can I specify the cell's outline, border or lines around, when the cell gets selected
public void init() { COM com_Appearance,com_Items; anytype var_Appearance,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI"; var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO"; var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn"; var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY"; var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="; com_Appearance.Add(1,COMVariant::createFromStr(var_s)); com_Appearance.Add(2,"CP:1 -4 0 0 0"); exg2antt1.SelBackColor(0x2000000); exg2antt1.SelForeColor(WinApi::RGB2int(0,0,1)); exg2antt1.FullRowSelect(0/*exColumnSel*/); exg2antt1.ShowFocusRect(false); exg2antt1.DefaultItemHeight(24); exg2antt1.HeaderHeight(24); exg2antt1.DrawGridLines(2/*exVLines*/); exg2antt1.Columns().Add("C1"); exg2antt1.Columns().Add("C2"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2"); com_Items.CellValue(com_Items.AddItem("Cell 3"),COMVariant::createFromInt(1),"Cell 4"); exg2antt1.Items().SelectPos(COMVariant::createFromInt(1)); exg2antt1.SelectColumnIndex(1); exg2antt1.EndUpdate(); } |
2195 |
How can I specify the cell's outline, border or lines around, when the item gets selected
public void init() { COM com_Items; anytype var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI"; var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO"; var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn"; var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY"; var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); exg2antt1.SelBackColor(0x1000000); exg2antt1.SelForeColor(WinApi::RGB2int(0,0,1)); exg2antt1.ShowFocusRect(false); exg2antt1.DefaultItemHeight(24); exg2antt1.HeaderHeight(24); exg2antt1.DrawGridLines(2/*exVLines*/); exg2antt1.Columns().Add("C1"); exg2antt1.Columns().Add("C2"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2"); com_Items.CellValue(com_Items.AddItem("Cell 3"),COMVariant::createFromInt(1),"Cell 4"); com_Items.SelectPos(COMVariant::createFromInt(1)); exg2antt1.EndUpdate(); } |
2194 |
How can I specify the cell's outline, border or lines around
public void init() { COM com_Items; anytype var_Items; int h; str var_s; ; super(); exg2antt1.BeginUpdate(); exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI"; var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO"; var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn"; var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY"; var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.ShowFocusRect(false); exg2antt1.DefaultItemHeight(24); exg2antt1.HeaderHeight(24); exg2antt1.DrawGridLines(2/*exVLines*/); exg2antt1.Columns().Add("C1"); exg2antt1.Columns().Add("C2"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2"); h = com_Items.AddItem("Cell 2"); com_Items.CellValue(h,COMVariant::createFromInt(1),"Cell 3"); com_Items.CellBackColor(h,COMVariant::createFromInt(1),0x1000000); exg2antt1.EndUpdate(); } |
2193 |
Is it possible to highligth the match while a filter is applied
// AddColumn event - Fired after a new column has been added. void onEvent_AddColumn(COM _Column) { // Column.Def(17) = 1 ; } // FilterChange event - Occurs when the filter was changed. void onEvent_FilterChange() { COM com_Column; COMVariant format; anytype var_Column; ; format = exg2antt1.FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>'`",COMVariant::createFromStr(exg2antt1.FilterBarPromptPattern())); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column; com_Column.FormatColumn(format); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column; com_Column.FormatColumn(format); } public void init() { COM com_Column,com_Items; COMVariant format; anytype var_Column,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.DrawGridLines(2/*exVLines*/); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.Columns().Add("Col 1"); exg2antt1.Columns().Add("Col 2"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("219 Smith"),COMVariant::createFromInt(1),"Ignacio 1234"); com_Items.CellValue(com_Items.AddItem("1666 County Road 309A"),COMVariant::createFromInt(1),"897 Manassa"); com_Items.CellValue(com_Items.AddItem("38 Lone Pine"),COMVariant::createFromInt(1),"Durango 11"); com_Items.CellValue(com_Items.AddItem("612 Jachim Street"),COMVariant::createFromInt(1),"Lamar 222"); exg2antt1.FilterBarPromptPattern("1"); exg2antt1.FilterBarPromptVisible(2067/*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/); exg2antt1.FilterBarPromptType(257/*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/); exg2antt1.EndUpdate(); } |
2192 |
How can I display the total/sum/aggregate in the same column, when the user groups by a column
// AddColumn event - Fired after a new column has been added. void onEvent_AddColumn(COM _Column) { ; } // AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemDivider(_Item,-1); com_Items.ItemBackColor(_Item,exg2antt1.BackColorSortBar()); com_Items.ItemHeight(_Item,exg2antt1.HeaderHeight()); com_Items.CellMerge(_Item,COMVariant::createFromInt(0),"1,2,3,4,5,7,8,9,10,11,12"); com_Items.CellValue(_Item,COMVariant::createFromInt(13),"count(current,rec,1)"); com_Items.CellValueFormat(_Item,COMVariant::createFromInt(13),5/*exTotalField | exHTML*/); com_Items.CellValue(_Item,COMVariant::createFromInt(0),COMVariant::createFromStr(com_Items.CellCaption(_Item,com_Items.GroupItem(_Item)))); com_Items.FormatCell(_Item,COMVariant::createFromInt(0),"`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 + `)`"); com_Items.CellValue(_Item,COMVariant::createFromInt(6),"sum(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,COMVariant::createFromInt(6),5/*exTotalField | exHTML*/); com_Items.CellForeColor(_Item,COMVariant::createFromInt(6),WinApi::RGB2int(102,102,102)); } // Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_Column1,com_Column2,com_Columns,com_Items,com_rs; anytype rs,var_Column,var_Column1,var_Column2,var_Columns,var_Items; int hL; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.Indent(12); exg2antt1.ColumnAutoResize(false); exg2antt1.ScrollBySingleLine(true); exg2antt1.BackColorSortBar(WinApi::RGB2int(240,240,240)); exg2antt1.AutoDrag(16/*exAutoDragScroll*/); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); exg2antt1.HeaderHeight(24); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; COM::createFromVariant(com_Columns.Add("Count")).Visible(false); var_Column = com_Columns.Item("Freight"); com_Column = var_Column; com_Column.Def(4/*exCellBackColor*/,exg2antt1.BackColorSortBar()); com_Column.Def(7/*exHeaderBackColor*/,com_Column.Def(4/*exCellBackColor*/)); com_Column.Def(49/*exCellPaddingRight*/,COMVariant::createFromInt(4)); com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(4)); com_Column.HeaderBold(true); com_Column.AllowGroupBy(false); com_Column.FormatColumn("value format ``"); com_Column.Alignment(2/*RightAlignment*/); var_Column1 = com_Columns.Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.AllowGroupBy(false); com_Column1.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1)); var_Column2 = COM::createFromObject(com_Columns.Item("ShipCountry")); com_Column2 = var_Column2; com_Column2.SortOrder(1/*SortAscending*/); exg2antt1.ScrollBySingleLine(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.LockedItemCount(2/*exBottom*/,1); hL = com_Items.LockedItem(2/*exBottom*/,0); com_Items.ItemHeight(hL,24); com_Items.ItemBold(hL,true); com_Items.ItemBackColor(hL,exg2antt1.BackColorSortBar()); com_Items.CellValue(hL,COMVariant::createFromInt(6),"sum(all,rec,dbl(%6))"); com_Items.CellValueFormat(hL,COMVariant::createFromInt(6),5/*exTotalField | exHTML*/); com_Items.CellHAlignment(hL,COMVariant::createFromInt(6),2/*RightAlignment*/); com_Items.FormatCell(hL,COMVariant::createFromInt(6),"value format ``"); exg2antt1.EndUpdate(); } |
2191 |
How do I add a total field locked at the bottom of the control
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemDividerLine(_Item,0/*EmptyLine*/); com_Items.FormatCell(_Item,com_Items.GroupItem(_Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"); com_Items.CellValue(_Item,"Min","min(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Min",4/*exTotalField*/); com_Items.CellValue(_Item,"Max","max(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Max",4/*exTotalField*/); com_Items.CellValue(_Item,"Sum","sum(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Sum",4/*exTotalField*/); com_Items.ItemBackColor(_Item,WinApi::RGB2int(240,240,240)); } // Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_Column1,com_Column2,com_Column3,com_Columns,com_Items,com_rs; anytype rs,var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_Items; int hL; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HasLines(0/*exNoLine*/); exg2antt1.Description(26/*exColumnsFloatBar*/,"Show/Hide"); exg2antt1.ColumnsFloatBarSortOrder(1/*SortAscending*/); exg2antt1.ColumnsFloatBarVisible(2/*exColumnsFloatBarVisibleIncludeCheckColumns*/); exg2antt1.ColumnAutoResize(false); exg2antt1.BackColorSortBar(WinApi::RGB2int(240,240,240)); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); exg2antt1.SortBarCaption("Drag a <b>column</b> header here to group by that column."); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; var_Column = COM::createFromVariant(com_Columns.Add("Min")); com_Column = var_Column; com_Column.Visible(false); com_Column.AllowDragging(false); var_Column = COM::createFromVariant(com_Columns.Add("Max")); com_Column.Visible(false); com_Column.Visible(false); com_Column.AllowDragging(false); var_Column1 = COM::createFromVariant(com_Columns.Add("Sum")); com_Column1 = var_Column1; com_Column1.Visible(false); com_Column1.Visible(false); com_Column1.AllowDragging(false); var_Column2 = COM::createFromObject(exg2antt1.Columns()).Item("Freight"); com_Column2 = var_Column2; com_Column2.FormatColumn("currency(value)"); com_Column2.Def(4/*exCellBackColor*/,COMVariant::createFromInt(12895487)); com_Column2.Def(7/*exHeaderBackColor*/,com_Column2.Def(4/*exCellBackColor*/)); com_Column2.HeaderBold(true); com_Column2.AllowGroupBy(false); com_Column2.Alignment(2/*RightAlignment*/); exg2antt1.ScrollBySingleLine(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.LockedItemCount(2/*exBottom*/,2); hL = com_Items.LockedItem(2/*exBottom*/,0); com_Items.ItemDivider(hL,0); com_Items.ItemHeight(hL,3); com_Items.ItemDividerLineAlignment(hL,2/*DividerTop*/); com_Items.ItemDividerLine(hL,2/*DoubleLine*/); hL = com_Items.LockedItem(2/*exBottom*/,1); com_Items.CellValue(hL,COMVariant::createFromInt(6),"sum(all,rec,dbl(%6))"); com_Items.CellValueFormat(hL,COMVariant::createFromInt(6),4/*exTotalField*/); com_Items.ItemHeight(hL,24); com_Items.ItemBold(hL,true); var_Column3 = COM::createFromObject(exg2antt1.Columns()).Item("EmployeeID"); com_Column3 = var_Column3; com_Column3.SortOrder(true); exg2antt1.EndUpdate(); } |
2190 |
How can I add a total field, when I use grouping
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemDividerLine(_Item,0/*EmptyLine*/); com_Items.FormatCell(_Item,com_Items.GroupItem(_Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"); com_Items.CellValue(_Item,"Min","min(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Min",4/*exTotalField*/); com_Items.CellValue(_Item,"Max","max(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Max",4/*exTotalField*/); com_Items.CellValue(_Item,"Sum","sum(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Sum",4/*exTotalField*/); com_Items.ItemBackColor(_Item,WinApi::RGB2int(240,240,240)); } // Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_Columns,com_Items,com_rs; anytype rs,var_Column,var_Columns,var_Items; int hL; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HasLines(0/*exNoLine*/); exg2antt1.ColumnAutoResize(false); exg2antt1.BackColorSortBar(WinApi::RGB2int(240,240,240)); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column; com_Column.SortOrder(true); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; COM::createFromVariant(com_Columns.Add("Min")).Visible(false); COM::createFromVariant(com_Columns.Add("Max")).Visible(false); COM::createFromVariant(com_Columns.Add("Sum")).Visible(false); var_Column = COM::createFromObject(exg2antt1.Columns()).Item("Freight"); com_Column = var_Column; com_Column.Def(4/*exCellBackColor*/,COMVariant::createFromInt(12895487)); com_Column.Def(7/*exHeaderBackColor*/,com_Column.Def(4/*exCellBackColor*/)); com_Column.HeaderBold(true); com_Column.AllowGroupBy(false); exg2antt1.ScrollBySingleLine(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.LockedItemCount(2/*exBottom*/,1); hL = com_Items.LockedItem(2/*exBottom*/,0); com_Items.ItemDivider(hL,0); com_Items.ItemHeight(hL,24); com_Items.ItemDividerLineAlignment(hL,2/*DividerTop*/); com_Items.ItemDividerLine(hL,2/*DoubleLine*/); com_Items.CellValue(hL,COMVariant::createFromInt(0),"sum(all,rec,dbl(%6))"); com_Items.CellValueFormat(hL,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/); com_Items.CellHAlignment(hL,COMVariant::createFromInt(0),2/*RightAlignment*/); com_Items.FormatCell(hL,COMVariant::createFromInt(0),"'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `"); exg2antt1.EndUpdate(); } |
2189 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns
|
2188 |
The BackColorAlternate displays each second row with a different background color. The question I have it is possible to apply a different background color for 3rd, 4th, row, and so on
// LayoutChanged event - Occurs when column's position or column's size is changed. void onEvent_LayoutChanged() { ; exg2antt1.Refresh(); } // Sort event - Fired when the control sorts a column. void onEvent_Sort() { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_ConditionalFormat,com_rs; anytype rs,var_Column,var_ConditionalFormat; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HasLines(0/*exNoLine*/); exg2antt1.ColumnAutoResize(false); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Position")); com_Column = var_Column; com_Column.FormatColumn("1 apos ''"); com_Column.Visible(false); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("(%C13 mod 4) = 0"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.BackColor(WinApi::RGB2int(240,240,240)); exg2antt1.EndUpdate(); } |
2187 |
The BackColorAlternate looks fine for flat tables, but how about using it when displaying a hierarchy/tree, like grouping rows. The sample alternate colors for each group found
// LayoutChanged event - Occurs when column's position or column's size is changed. void onEvent_LayoutChanged() { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_ConditionalFormat,com_rs; anytype rs,var_Column,var_ConditionalFormat; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HasLines(0/*exNoLine*/); exg2antt1.ColumnAutoResize(false); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column; com_Column.SortOrder(true); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Position")); com_Column = var_Column; com_Column.FormatColumn("(0:= (1 rpos '')) left ( ( 1:= ( =:0 lfind `.` ) ) != -1 ? =:1 : len(=:0))"); com_Column.Visible(false); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("(%C13 mod 2) != 0"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.BackColor(WinApi::RGB2int(240,240,240)); exg2antt1.EndUpdate(); } |
2186 |
I need to display sub-totals in the grouping items. Is there any solution on this
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemDivider(_Item,-1); com_Items.EnableItem(_Item,false); com_Items.CellValueFormat(_Item,exg2antt1.TreeColumnIndex(),1/*exHTML*/); com_Items.FormatCell(_Item,exg2antt1.TreeColumnIndex(),"%1"); com_Items.CellValueFormat(_Item,"Freight",5/*exTotalField | exHTML*/); com_Items.CellValue(_Item,"Freight","sum(current,dir,%6)"); com_Items.FormatCell(_Item,"Freight","`<b>` + currency(value)"); } public void init() { COM com_Column,com_Items,com_rs; anytype rs,var_Column,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.BackColorSortBar(WinApi::RGB2int(240,240,240)); exg2antt1.ColumnAutoResize(false); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SortBarVisible(true); exg2antt1.SortBarCaption("Drag a <b>column</b> header here to group by that column."); exg2antt1.AllowGroupBy(true); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column; com_Column.SortOrder(1/*SortAscending*/); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); var_Column = COM::createFromObject(exg2antt1.Columns()).Item("ShipVia"); com_Column = var_Column; com_Column.DisplayFilterButton(true); exg2antt1.EndUpdate(); } |
2185 |
I use a subtotal in exTop-Item, after grouping the item shows 0. What is the solution
public void init() { COM com_Column,com_Items,com_rs; anytype rs,var_Column,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.ColumnAutoResize(false); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.AllowGroupBy(true); exg2antt1.SortBarVisible(true); exg2antt1.BackColorSortBar(exg2antt1.BackColor()); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(5)); com_Column = var_Column; com_Column.SortOrder(1/*SortAscending*/); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(6)); com_Column = var_Column; com_Column.FormatColumn("currency(value)"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.LockedItemCount(0/*exTop*/,1); h = com_Items.LockedItem(0/*exTop*/,0); com_Items.ItemBackColor(h,WinApi::RGB2int(240,240,240)); com_Items.CellBackColor(h,COMVariant::createFromInt(6),WinApi::RGB2int(190,190,190)); com_Items.CellValue(h,COMVariant::createFromInt(6),"sum(all,rec,%6)"); com_Items.CellValueFormat(h,COMVariant::createFromInt(6),4/*exTotalField*/); exg2antt1.Refresh(); exg2antt1.EndUpdate(); } |
2184 |
How can I add multiple values/columns on the same line/item/row
// Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Columns,com_Editor,com_Items; anytype var_Columns,var_Editor,var_Items; int h,h1; ; super(); exg2antt1.BeginUpdate(); exg2antt1.SortOnClick(0/*exNoSort*/); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.Indent(13); exg2antt1.HeaderVisible(false); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Items"); var_Editor = COM::createFromObject(COM::createFromVariant(com_Columns.Add("Quantity"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); var_Editor = COM::createFromObject(COM::createFromVariant(com_Columns.Add("Value"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Items"); com_Items.CellValue(h,COMVariant::createFromInt(2),"sum(current,dir,dbl(%1)*dbl(%2))"); com_Items.CellValueFormat(h,COMVariant::createFromInt(2),4/*exTotalField*/); com_Items.FormatCell(h,COMVariant::createFromInt(2),"`Total: `+ value"); com_Items.CellHAlignment(h,COMVariant::createFromInt(2),2/*RightAlignment*/); com_Items.CellBold(h,COMVariant::createFromInt(2),true); com_Items.CellEditorVisible(h,COMVariant::createFromInt(2),false); com_Items.CellEditorVisible(h,COMVariant::createFromInt(1),false); h1 = com_Items.InsertItem(h,,"Item 1"); com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(10)); com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(3)); h1 = com_Items.InsertItem(h,,"Item 2"); com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(20)); com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(4)); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } |
2183 |
Is it possible, to add more aggregate functions to grouping header
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.FormatCell(_Item,com_Items.GroupItem(_Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"); com_Items.CellValue(_Item,"Min","min(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Min",4/*exTotalField*/); com_Items.CellValue(_Item,"Max","max(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Max",4/*exTotalField*/); com_Items.CellValue(_Item,"Sum","sum(current,all,dbl(%6))"); com_Items.CellValueFormat(_Item,"Sum",4/*exTotalField*/); } // Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Column,com_Columns,com_rs; anytype rs,var_Column,var_Columns; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HasLines(0/*exNoLine*/); exg2antt1.ColumnAutoResize(false); // Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project. rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs; rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/); exg2antt1.DataSource(rs); exg2antt1.SingleSort(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column; com_Column.SortOrder(true); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; COM::createFromVariant(com_Columns.Add("Min")).Visible(false); COM::createFromVariant(com_Columns.Add("Max")).Visible(false); COM::createFromVariant(com_Columns.Add("Sum")).Visible(false); exg2antt1.EndUpdate(); } |
2182 |
Is it possible to display more aggregate functions to a single cell (method 2)
// Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Columns,com_Editor,com_Items; anytype var_Columns,var_Editor,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.SortOnClick(0/*exNoSort*/); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.Indent(13); exg2antt1.HeaderVisible(false); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Items"); var_Editor = COM::createFromObject(COM::createFromVariant(com_Columns.Add("Quantity"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); COM::createFromVariant(com_Columns.Add("Sum")).Visible(false); COM::createFromVariant(com_Columns.Add("Min")).Visible(false); COM::createFromVariant(com_Columns.Add("Max")).Visible(false); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Items"); com_Items.CellMerge(h,COMVariant::createFromInt(0),COMVariant::createFromInt(1)); com_Items.FormatCell(h,COMVariant::createFromInt(0),"`Items, <b>sum(` + %2 + `), min(` + %3 + `), max(` + %4 + `)</b>`"); com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/); com_Items.CellValue(h,COMVariant::createFromInt(2),"sum(current,dir,dbl(%1))"); com_Items.CellValueFormat(h,COMVariant::createFromInt(2),4/*exTotalField*/); com_Items.CellValue(h,COMVariant::createFromInt(3),"min(current,dir,dbl(%1))"); com_Items.CellValueFormat(h,COMVariant::createFromInt(3),4/*exTotalField*/); com_Items.CellValue(h,COMVariant::createFromInt(4),"max(current,dir,dbl(%1))"); com_Items.CellValueFormat(h,COMVariant::createFromInt(4),4/*exTotalField*/); com_Items.CellValue(com_Items.InsertItem(h,,"Item 1"),COMVariant::createFromInt(1),COMVariant::createFromInt(10)); com_Items.CellValue(com_Items.InsertItem(h,,"Item 2"),COMVariant::createFromInt(1),COMVariant::createFromInt(20)); com_Items.CellValue(com_Items.InsertItem(h,,"Item 3"),COMVariant::createFromInt(1),COMVariant::createFromInt(30)); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } |
2181 |
How can I use the current in the aggregate/total field
// Change event - Occurs when the user changes the cell's content. void onEvent_Change(int _Item,int _ColIndex,COMVariant /*variant*/ _NewValue) { ; exg2antt1.Refresh(); } public void init() { COM com_Columns,com_Editor,com_Items; anytype var_Columns,var_Editor,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.SortOnClick(0/*exNoSort*/); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.Indent(13); exg2antt1.HeaderVisible(false); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Items"); var_Editor = COM::createFromObject(COM::createFromVariant(com_Columns.Add("Quantity"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Items"); com_Items.CellValue(h,COMVariant::createFromInt(1),"sum(current,dir,dbl(%1))"); com_Items.CellValueFormat(h,COMVariant::createFromInt(1),4/*exTotalField*/); com_Items.FormatCell(h,COMVariant::createFromInt(1),"`Total: `+ value"); com_Items.CellValue(com_Items.InsertItem(h,,"Item 1"),COMVariant::createFromInt(1),COMVariant::createFromInt(10)); com_Items.CellValue(com_Items.InsertItem(h,,"Item 2"),COMVariant::createFromInt(1),COMVariant::createFromInt(20)); com_Items.CellValue(com_Items.InsertItem(h,,"Item 3"),COMVariant::createFromInt(1),COMVariant::createFromInt(30)); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } |
2180 |
The CellValue/CellCaption property gets the result of a computed/total field with text formatting. Is it possible to get that value without text formatting
public void init() { COM com_Editor,com_Items; anytype var_Editor,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("A"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("B"))).Editor(); com_Editor = var_Editor; com_Editor.EditType(4/*SpinType*/); exg2antt1.Columns().Add("A+B"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem(COMVariant::createFromInt(10)); com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(20)); com_Items.CellValueFormat(h,COMVariant::createFromInt(2),2/*exComputedField*/); com_Items.CellValue(h,COMVariant::createFromInt(2),"currency(dbl(%0)+dbl(%1))"); print( "CellCaption returns " ); print( com_Items.CellCaption(h,COMVariant::createFromInt(2)) ); print( "CellValue returns " ); print( com_Items.CellValue(h,COMVariant::createFromInt(2)) ); print( "ComputeValue returns " ); print( com_Items.ComputeValue("dbl(%0)+dbl(%1)",h,COMVariant::createFromInt(0),com_Items.CellValueFormat(h,COMVariant::createFromInt(2))) ); exg2antt1.EndUpdate(); } |
2179 |
Can I get the result of a specified formula as your control does using the ComputedField property
public void init() { COM com_Items; anytype var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("A"); exg2antt1.Columns().Add("B"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem(COMVariant::createFromInt(10)); com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(20)); print( "A+B is " ); print( com_Items.ComputeValue("dbl(%0)+dbl(%1)",h,COMVariant::createFromInt(0),COMVariant::createFromInt(2)) ); exg2antt1.EndUpdate(); } |
2178 |
Is it possible to get the text without HTML formatting
public void init() { COM com_Items; anytype var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add(""); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("<b>bold</b>"); print( com_Items.ComputeValue(com_Items.CellValue(h,COMVariant::createFromInt(0)),h,COMVariant::createFromInt(0),COMVariant::createFromInt(1)) ); exg2antt1.EndUpdate(); } |
2177 |
Transparent/Border SummaryBar
// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection. void onEvent_AddGroupItem(int _Item) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemDividerLine(_Item,0/*EmptyLine*/); com_Items.AddBar(_Item,"Summary",COMVariant::createFromDate(str2Date("12/2/2017",213)),COMVariant::createFromDate(str2Date("12/2/2017",213))); com_Items.DefineSummaryBars(_Item,"",-3,""); } // AddItem event - Occurs after a new Item has been inserted to Items collection. void onEvent_AddItem(int _Item) { ; exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("12/4/2017",213)),COMVariant::createFromDate(str2Date("12/10/2017",213))); } public void init() { COM com_Bar,com_Bar1,com_Chart,com_Column,com_Column1,com_Columns,com_Items; anytype var_Bar,var_Bar1,var_Chart,var_Column,var_Column1,var_Columns,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); var_s = "gBFLBCJwBAEHhEJAAEhABHEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKMIziaQJiYLBIaRgEUTRXASCQxDBKQBSeKkRRtDaOYDnGQYDi"; var_s = var_s + "CIouQLEIxDKItBSJCKURJkAZZHjeToSR5PMb0dKdAw5I6raShEaaIiqJIXP7Fc7QSA0EgTBIFajgOpQAb+bptW7FVDULTMQS5FCZKasOA7FgOZ4DWjUVpwTZ1Q4LC65b"; var_s = var_s + "juaraawKbYbXrFYJQSA8EwjNjDcLuKqcKpvDJsSJIFKxOB2KYtBLMLbzLR5apjLZ0QLSOKRDoMEgRDYGdKjLScGrGao8ABtcBlAZJRjoOo5DJgeCQapUQhNczGQzQSIi"; var_s = var_s + "BOJZAFSQwRHcJhGh2BZvngMIeA8H4TksA5ylgZBeg8X4GmGX4nniPazneQ5VnKdp9H8P4vD+X57nMRofmgBZ4FgIAoBWdoBGAGAeAgfxfjgNZ1DqWxEA0ASAgA=="; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/2/2017",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,256); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar; com_Bar.Color(0x1000000); com_Bar.Def(3/*exBarCaption*/,"<%=%513%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); com_Bar.Def(58/*exBarCaptionHOffset*/,COMVariant::createFromInt(8)); var_Bar1 = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar1 = var_Bar1; com_Bar1.Pattern(32/*exPatternBox*/); com_Bar1.Color(WinApi::RGB2int(0,0,0)); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("C1"); com_Columns.Add("C2"); var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column; com_Column.FormatColumn("1 pos ``"); com_Column.AllowGroupBy(false); com_Column.Position(0); com_Column.Width(48); com_Column.AllowSizing(false); exg2antt1.SortBarVisible(true); exg2antt1.AllowGroupBy(true); exg2antt1.BackColorSortBar(exg2antt1.BackColor()); exg2antt1.HeaderAppearance(4/*Etched*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"SubItem A.1"); com_Items.CellValue(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"SubItem A.2"); com_Items.CellValue(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"SubItem A.3"); com_Items.CellValue(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"SubItem A.4"); com_Items.CellValue(com_Items.AddItem("Item B"),COMVariant::createFromInt(1),"SubItem B.1"); com_Items.CellValue(com_Items.AddItem("Item B"),COMVariant::createFromInt(1),"SubItem B.2"); var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.SortOrder(1/*SortAscending*/); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,256); } */ |
2176 |
The bar's caption is very difficult to read if any pattern than exPatternSolid is used. Is there any way of displaying the bar's caption (except for displaying the caption outside the bar)
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Font().Size(12); exg2antt1.DefaultItemHeight(24); exg2antt1.Columns().Add("Task"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(21); com_Bar.Pattern(7/*exPatternDiagCross*/); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.UnitWidth(24); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"to do"); h = com_Items.AddItem("bgcolor"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"<bgcolor=FFFFFF> to do </bgcolor>"); h = com_Items.AddItem("fgcolor"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"<fgcolor=FFFFFF> to do </fgcolor>"); h = com_Items.AddItem("sha"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"<sha FFFFFF;2;2> to do </sha>"); h = com_Items.AddItem("out"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"<out 000000><fgcolor=FFFFFF>to do</fgcolor></out></font>"); h = com_Items.AddItem("gra"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),""); com_Items.ItemBar(h,"",3/*exBarCaption*/,"<fgcolor FFFFFF><gra 000000;1;1>to do</fgcolor>"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2175 |
How can I change the position of the bar's tooltip
// ToolTip event - Fired when the control prepares the object's tooltip. void onEvent_ToolTip(int _Item,int _ColIndex,COMVariant /*bool*/ _Visible,COMVariant /*long*/ _X,COMVariant /*long*/ _Y,int _CX,int _CY) { ; print( "ToolTip" ); print( _Item ); print( _ColIndex ); print( _Visible ); print( _X ); print( _Y ); print( _CX ); print( _CY ); _X = exg2antt1.FormatABC("value + 8",_X); _Y = exg2antt1.FormatABC("value - 8",_Y); } public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,64); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Def(6/*exBarToolTip*/,"<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>"); com_Chart.LevelCount(2); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Tasks A"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213))); com_Items.AddBar(com_Items.AddItem("Tasks B"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,64); } */ |
2174 |
How can I replace the cell's context menu ( while edit mode is running )
// RClick event - Fired when right mouse button is clicked void onEvent_RClick() { COM com_ExContextMenu,com_Items; anytype var_ExContextMenu,var_Items; ; print( "Edit Mode: " ); print( exg2antt1.Editing() ); // Add 'excontextmenu.dll(ExContextMenu.dll)' reference to your project. // Add 'ExContextMenu 1.0 Type Library(ExContextMenu.dll)' reference to your project. var_ExContextMenu = COM::createFromObject(new EXCONTEXTMENULib.excontextmenu()); com_ExContextMenu = var_ExContextMenu; var_Items = COM::createFromObject(com_ExContextMenu.Items()); com_Items = var_Items; com_Items.ToString("Check[chk],[sep],Item 1,Item 2,Item 3,Popup(A,B,C)"); print( com_ExContextMenu.Select() ); } public void init() { COM com_Editor,com_ExContextMenu,com_Items; anytype var_Editor,var_ExContextMenu,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderAppearance(1/*Flat*/); var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Column")).Editor(); com_Editor = var_Editor; com_Editor.EditType(1/*EditType*/); com_Editor.Option(202/*exEditAllowContextMenu*/,COMVariant::createFromBoolean(false)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item 1"); com_Items.AddItem("Item 2"); exg2antt1.EndUpdate(); } |
2173 |
Is it possible to highlight the column's header once a filter is applied (sample 2)
public void init() { COM com_Appearance,com_Column,com_Columns,com_Items; anytype var_Appearance,var_Column,var_Columns,var_Items; int h; str var_s,var_s1; ; super(); exg2antt1.BeginUpdate(); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSA"; var_s = var_s + "sXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDM"; var_s = var_s + "RwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwX"; var_s = var_s + "g+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqD"; var_s = var_s + "BoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA="; com_Appearance.Add(1,COMVariant::createFromStr(var_s)); var_s1 = "gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi"; var_s1 = var_s1 + "6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKA"; var_s1 = var_s1 + "T4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBH"; var_s1 = var_s1 + "AmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaB"; var_s1 = var_s1 + "ZhggZgagaYRoEwShWA6NZZAMQBAICA=="; com_Appearance.Add(2,COMVariant::createFromStr(var_s1)); exg2antt1.Background(0/*exHeaderFilterBarButton*/,0x1000000); exg2antt1.Background(41/*exHeaderFilterBarActive*/,0x2000000); exg2antt1.Background(32/*exCursorHoverColumn*/,-1); exg2antt1.HeaderHeight(28); exg2antt1.BackColorHeader(WinApi::RGB2int(255,255,255)); exg2antt1.DrawGridLines(-2/*exRowLines*/); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; COM::createFromVariant(com_Columns.Add("C1")).DisplayFilterButton(true); var_Column = COM::createFromVariant(com_Columns.Add("C2")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.Filter("Item 2"); com_Column.FilterType(240/*exFilter*/); COM::createFromVariant(com_Columns.Add("C3")).DisplayFilterButton(true); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Item 1"); com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 2"); com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 3"); h = com_Items.AddItem("Item 4"); com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 5"); com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 6"); exg2antt1.ApplyFilter(); exg2antt1.EndUpdate(); } |
2172 |
How can I make the expand/collapse glyphs DPI aware
public void init() { COM com_Appearance,com_Items; anytype var_Appearance,var_Items; int h; str size,var_s,var_s1; ; super(); size = 2; exg2antt1.BeginUpdate(); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcC"; var_s = var_s + "QAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKc"; var_s = var_s + "RQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJr"; var_s = var_s + "nSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYG"; var_s = var_s + "oGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpF"; var_s = var_s + "IVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZ"; var_s = var_s + "nloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA=="; com_Appearance.Add(3,COMVariant::createFromStr(var_s)); var_s1 = "gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYI"; var_s1 = var_s1 + "gAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVY"; var_s1 = var_s1 + "ghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxT"; var_s1 = var_s1 + "iGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYF"; var_s1 = var_s1 + "oFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaF"; var_s1 = var_s1 + "KFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRY"; var_s1 = var_s1 + "OiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA=="; com_Appearance.Add(4,COMVariant::createFromStr(var_s1)); com_Appearance.Add(1,exg2antt1.FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)",size)); com_Appearance.Add(2,exg2antt1.FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)",size)); exg2antt1.LinesAtRoot(1/*exGroupLinesAtRoot*/); exg2antt1.HasButtons(4/*exCustom*/); exg2antt1.HasButtonsCustom(0,16777216); exg2antt1.HasButtonsCustom(1,33554432); exg2antt1.Columns().Add("Column"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root 1"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Root 2"); com_Items.InsertItem(h,,"Child"); exg2antt1.EndUpdate(); } |
2171 |
Is it possible to highlight the column's header once a filter is applied (sample 1)
public void init() { COM com_Appearance,com_Column,com_Columns,com_Items; anytype var_Appearance,var_Column,var_Columns,var_Items; int h; str var_s; ; super(); exg2antt1.BeginUpdate(); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ"; var_s = var_s + "0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN"; var_s = var_s + "YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h"; var_s = var_s + "hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb"; var_s = var_s + "hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB"; var_s = var_s + "MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="; com_Appearance.Add(2,COMVariant::createFromStr(var_s)); com_Appearance.Add(1,"CP:2 -8 -4 2 4"); exg2antt1.Background(0/*exHeaderFilterBarButton*/,0x1fefefe); exg2antt1.Background(41/*exHeaderFilterBarActive*/,0x1010101); exg2antt1.Background(32/*exCursorHoverColumn*/,-1); exg2antt1.HeaderHeight(28); exg2antt1.BackColorHeader(WinApi::RGB2int(255,255,255)); exg2antt1.DrawGridLines(-2/*exRowLines*/); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; COM::createFromVariant(com_Columns.Add("C1")).DisplayFilterButton(true); var_Column = COM::createFromVariant(com_Columns.Add("C2")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.Filter("Item 2"); com_Column.FilterType(240/*exFilter*/); COM::createFromVariant(com_Columns.Add("C3")).DisplayFilterButton(true); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Item 1"); com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 2"); com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 3"); h = com_Items.AddItem("Item 4"); com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 5"); com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 6"); exg2antt1.ApplyFilter(); exg2antt1.EndUpdate(); } |
2170 |
How do I update itemcount and matchitemcount of the FilterBarCaption after I added the item using the AddItem method
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control. void onEvent_Click() { ; exg2antt1.Items().AddItem("new"); exg2antt1.Refresh(); } public void init() { COM com_Column,com_Column1,com_Items; anytype var_Column,var_Column1,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Item")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/); var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column1 = var_Column1; com_Column1.AllowSizing(false); com_Column1.AllowSort(false); com_Column1.Width(32); com_Column1.FormatColumn("1 apos ``"); com_Column1.Position(0); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item A"); com_Items.AddItem("Item B"); com_Items.AddItem("Item C"); var_s = "`<r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1)"; var_s = var_s + " + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"; exg2antt1.FilterBarCaption(var_s); exg2antt1.FilterBarPromptVisible(3591/*exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2169 |
The Edit method does not work while ReadOnly property is exLocked and the first column is hidden. Is there any fix
// DblClick event - Occurs when the user dblclk the left mouse button over an object. void onEvent_DblClick(int _Shift,int _X,int _Y) { int var_ItemFromPoint; ; var_ItemFromPoint = exg2antt1.ItemFromPoint(-1,-1,c,hit); exg2antt1.FocusColumnIndex(c); exg2antt1.Edit(); } public void init() { COM com_Column,com_Editor,com_Items; anytype var_Column,var_Editor,var_Items; int var_ItemFromPoint; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.AutoEdit(false); exg2antt1.ReadOnly(1/*exLocked*/); exg2antt1.AutoSearch(true); COM::createFromVariant(exg2antt1.Columns().Add("")).Visible(false); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Contains")); com_Column = var_Column; com_Column.AutoSearch(1/*exContains*/); var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor; com_Editor.EditType(1/*EditType*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellValue(com_Items.AddItem(),COMVariant::createFromInt(1),"Tom Hanks"); com_Items.CellValue(com_Items.AddItem(),COMVariant::createFromInt(1),"Leonardo DiCaprio"); com_Items.CellValue(com_Items.AddItem(),COMVariant::createFromInt(1),"Will Smith"); com_Items.CellValue(com_Items.AddItem(),COMVariant::createFromInt(1),"Tom Cruise"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2168 |
How can I highlight the cell's button with a different appearance, when cursor hovers it
public void init() { COM com_Column,com_Items; anytype var_Column,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn"); exg2antt1.DefaultItemHeight(22); exg2antt1.TreeColumnIndex(-1); exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0)); exg2antt1.SelBackColor(exg2antt1.BackColor()); exg2antt1.Background(157/*exCursorHoverCellButton*/,0x1000000); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Buttons")); com_Column = var_Column; com_Column.Def(2/*exCellHasButton*/,COMVariant::createFromBoolean(true)); com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1)); com_Column.Alignment(1/*CenterAlignment*/); com_Column.HeaderAlignment(1/*CenterAlignment*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Button <b>1</b>"); com_Items.AddItem("Button <b>2</b>"); com_Items.AddItem("Button <b>3</b>"); exg2antt1.EndUpdate(); } |
2167 |
How to group one or more operations into a block when the user do undo or redo
public void init() { COM com_Bar,com_Chart,com_Items,com_Note; anytype var_Bar,var_Chart,var_Items,var_Note; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.AllowUndoRedo(true); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213))); com_Chart.AllowLinkBars(true); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,64); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(16); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.StartBlockUndoRedo(); com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("6/27/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),""); com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),""); com_Items.EndBlockUndoRedo(); h = com_Items.ItemByIndex(1); var_Note = COM::createFromObject(exg2antt1.Chart().Notes()).Add("NoteD",h,COMVariant::createFromDate(str2Date("6/26/2005",213)),"CTRL+Z (undo), CTRL+Y (redo)"); com_Note = var_Note; com_Note.PartShadow(1/*exNoteEnd*/,false); com_Note.PartToolTip(1/*exNoteEnd*/,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo"); com_Note.PartTransparency(1/*exNoteEnd*/,25); com_Note.PartVOffset(1/*exNoteEnd*/,-2); com_Note.PartBackColor(1/*exNoteEnd*/,WinApi::RGB2int(255,255,0)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,64); } */ |
2166 |
I am using the Link property to customize the link, but when I press redo it (CTRL+Y) to redo it, not all properties are restored. What can be done
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int u; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.AllowUndoRedo(true); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213))); com_Chart.AllowLinkBars(true); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,64); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(16); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/27/2005",213)),COMVariant::createFromDate(str2Date("7/4/2005",213)),""); com_Items.StartBlockUndoRedo(); com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),""); u = com_Items.StartUpdateLink("L1"); com_Items.Link("L1",10/*exLinkWidth*/,COMVariant::createFromInt(2)); com_Items.Link("L1",12/*exLinkText*/,"<fgcolor FF0000>CTRL+Z (undo), CTRL+Y (redo)"); com_Items.Link("L1",13/*exLinkToolTip*/,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo"); com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(0)); com_Items.Link("L1",8/*exLinkColor*/,COMVariant::createFromInt(255)); com_Items.EndUpdateLink(u); com_Items.EndBlockUndoRedo(); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,64); } */ |
2165 |
I am using the ItemBar property to customize the task, but when I press redo it (CTRL+Y) to redo it, not all properties are restored. What can be done
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h,u; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.AllowUndoRedo(true); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213))); com_Chart.AllowLinkBars(true); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,64); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(16); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/30/2005",213)),""); h = com_Items.AddItem("Task 2"); com_Items.StartBlockUndoRedo(); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("6/27/2005",213)),COMVariant::createFromDate(str2Date("7/4/2005",213)),"","CTRL+Z (undo), CTRL+Y (redo)"); u = com_Items.StartUpdateBar(h,""); com_Items.ItemBar(h,"",33/*exBarColor*/,COMVariant::createFromInt(255)); com_Items.ItemBar(h,"",6/*exBarToolTip*/,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo"); com_Items.EndUpdateBar(u); com_Items.EndBlockUndoRedo(); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,64); } */ |
2164 |
The incremental search feature is no working for columns with editor assigned. What can be done
// DblClick event - Occurs when the user dblclk the left mouse button over an object. void onEvent_DblClick(int _Shift,int _X,int _Y) { ; exg2antt1.Edit(); } public void init() { COM com_Column,com_Editor,com_Items; anytype var_Column,var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.AutoEdit(false); exg2antt1.AutoSearch(true); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Contains")); com_Column = var_Column; com_Column.AutoSearch(1/*exContains*/); var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor; com_Editor.EditType(1/*EditType*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Tom Hanks"); com_Items.AddItem("Leonardo DiCaprio"); com_Items.AddItem("Will Smith"); com_Items.AddItem("Tom Cruise"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2163 |
Each item is representated by a key as string. Is it possible to have a drop down editor to display more information when using the item's key
public void init() { COM com_Editor,com_Items; anytype var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); exg2antt1.HeaderAppearance(4/*Etched*/); var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Multiple-Columns Tree DropDownListType")).Editor(); com_Editor = var_Editor; com_Editor.EditType(3/*DropDownListType*/); com_Editor.AddItem(0,"KR|Korea, Republic of"); com_Editor.AddItem(1,"MO|Macao"); com_Editor.AddItem(2,"SA|Saudi Arabia"); com_Editor.AddItem(3,"EG|Egypt"); com_Editor.AddItem(4,"GB|United Kingdom"); com_Editor.AddItem(5,"GT|Guatemala"); com_Editor.AddItem(6,"SR|Suriname"); com_Editor.AddItem(7,"BM|Bermuda"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("EG"); com_Items.AddItem("GB"); com_Items.AddItem("BM"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2162 |
My table includes codes/keys for items, can I display a drop down editor to include more information
public void init() { COM com_Editor,com_Items; anytype var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); exg2antt1.HeaderAppearance(4/*Etched*/); var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Multiple-Columns DropDownListType")).Editor(); com_Editor = var_Editor; com_Editor.EditType(3/*DropDownListType*/); com_Editor.DropDownAutoWidth(0/*exDropDownEditorWidth*/); com_Editor.Option(57/*exDropDownColumnCaption*/,"City¦Coordinates¦State"); com_Editor.AddItem(0,"JV3|Jollyville¦3026N 09746W¦Texas"); com_Editor.AddItem(1,"TMO|Altamont¦4021N 11017W¦Utah"); com_Editor.AddItem(2,"IIM|Williamston¦4241N 08417W¦Michigan"); com_Editor.AddItem(3,"IWN|Merrittstown¦3958N 07952W¦Pennsylvania"); com_Editor.AddItem(4,"HOU|Houston¦2945N 09521W¦Texas"); com_Editor.AddItem(5,"GSF|Gales Ferry¦4125N 07205W¦Connecticut"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("HOU"); com_Items.AddItem("IIM"); com_Items.AddItem("TMO"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2161 |
How can I display and select from a multiple-columns tree editor
public void init() { COM com_Editor,com_Items; anytype var_Editor,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql"; var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0"; var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN"; var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="; exg2antt1.Images(COMVariant::createFromStr(var_s)); exg2antt1.HeaderAppearance(4/*Etched*/); var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Multiple-Columns Tree DropDownListType")).Editor(); com_Editor = var_Editor; com_Editor.EditType(3/*DropDownListType*/); com_Editor.DropDownAutoWidth(0/*exDropDownEditorWidth*/); com_Editor.Option(57/*exDropDownColumnCaption*/,"Name¦Title¦City¦Phone"); com_Editor.Option(58/*exDropDownColumnWidth*/,"224¦¦¦96"); com_Editor.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",COMVariant::createFromInt(1)); com_Editor.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",COMVariant::createFromInt(2)); com_Editor.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",COMVariant::createFromInt(3),COMVariant::createFromInt(2)); com_Editor.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",COMVariant::createFromInt(3),COMVariant::createFromInt(2)); com_Editor.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",COMVariant::createFromInt(2),COMVariant::createFromInt(2)); com_Editor.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",COMVariant::createFromInt(1),COMVariant::createFromInt(5)); com_Editor.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",COMVariant::createFromInt(2),COMVariant::createFromInt(2)); com_Editor.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",COMVariant::createFromInt(3),COMVariant::createFromInt(2)); com_Editor.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",COMVariant::createFromInt(2),COMVariant::createFromInt(5)); com_Editor.ExpandAll(); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(COMVariant::createFromInt(1)); com_Items.AddItem(COMVariant::createFromInt(2)); com_Items.AddItem(COMVariant::createFromInt(4)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2160 |
Does you control support multiple-columns for a drop down editor
public void init() { COM com_Editor,com_Items; anytype var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0); exg2antt1.HeaderAppearance(4/*Etched*/); var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Multiple-Columns DropDownListType")).Editor(); com_Editor = var_Editor; com_Editor.EditType(3/*DropDownListType*/); com_Editor.DropDownAutoWidth(0/*exDropDownEditorWidth*/); com_Editor.AddItem(0,"Jollyville¦JV3¦3026N 09746W¦TX"); com_Editor.AddItem(1,"Altamont¦TMO¦4021N 11017W¦UT"); com_Editor.AddItem(2,"Williamston¦IIM¦4241N 08417W¦MI"); com_Editor.AddItem(3,"Merrittstown¦IWN¦3958N 07952W¦PA"); com_Editor.AddItem(4,"Houston¦HOU¦2945N 09521W¦TX"); com_Editor.AddItem(5,"Gales Ferry¦GSF¦4125N 07205W¦CT"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.InsertItem(0,"",COMVariant::createFromInt(1)); com_Items.InsertItem(0,"",COMVariant::createFromInt(2)); com_Items.InsertItem(0,"",COMVariant::createFromInt(4)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,0); } */ |
2159 |
Is it possible to change the summary-bar's start or/and end margins
public void init() { COM com_Chart,com_Column,com_Column1,com_Items; anytype var_Chart,var_Column,var_Column1,var_Items; int h1,hR1; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.ColumnAutoResize(false); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.AllowCreateBar(false); com_Chart.AllowLinkBars(false); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2008",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,256); COM::createFromVariant(exg2antt1.Columns().Add("Members")).Width(96); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Start")); com_Column = var_Column; com_Column.Width(112); com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1)); com_Column.LevelKey(COMVariant::createFromInt(1)); var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("End")); com_Column1 = var_Column1; com_Column1.Width(112); com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(2)); com_Column1.LevelKey(COMVariant::createFromInt(1)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AllowCellValueToItemBar(true); hR1 = com_Items.AddItem("Team"); com_Items.AddBar(hR1,"Summary",COMVariant::createFromDate(str2Date("1/2/2008",213)),COMVariant::createFromDate(str2Date("1/8/2008",213)),""); com_Items.AddBar(hR1,"",COMVariant::createFromDate(str2Date("1/13/2008",213)),COMVariant::createFromDate(str2Date("1/13/2008",213)),"R"); com_Items.ItemBar(hR1,"R",19/*exBarTransparent*/,COMVariant::createFromInt(100)); com_Items.DefineSummaryBars(hR1,"",h1,"R"); h1 = com_Items.InsertItem(hR1,,"Member 1"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2008",213)),COMVariant::createFromDate(str2Date("1/7/2008",213))); com_Items.DefineSummaryBars(hR1,"",h1,""); h1 = com_Items.InsertItem(hR1,,"Member 2"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/4/2008",213)),COMVariant::createFromDate(str2Date("1/9/2008",213))); com_Items.DefineSummaryBars(hR1,"",h1,""); h1 = com_Items.InsertItem(hR1,,"Member 3"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/5/2008",213)),COMVariant::createFromDate(str2Date("1/10/2008",213))); com_Items.DefineSummaryBars(hR1,"",h1,""); com_Items.ExpandItem(hR1,true); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,256); } */ |
2158 |
I want to display two lines/curves in the histogram-area such as expected and actual work effor per month. How can I do that (leaf)
public void init() { COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/5/2020",213))); com_Chart.HistogramVisible(true); com_Chart.HistogramHeight(96); com_Chart.HistogramView(1808/*exHistogramNoGrouping | exHistogramRecLeafItems | exHistogramLeafItems | exHistogramUnlockedItems*/); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.HistogramPattern(2048/*exRectangularCurve*/); com_Bar.HistogramItems(-4); com_Bar.HistogramBorderSize(1); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar1 = COM::createFromObject(com_Bars).Copy("Task","C"); com_Bar1 = var_Bar1; com_Bar1.HistogramPattern(2048/*exRectangularCurve*/); com_Bar1.HistogramItems(-4); com_Bar1.HistogramColor(WinApi::RGB2int(255,0,0)); com_Bar1.HistogramBorderSize(2); exg2antt1.Columns().Add("Column"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project A"); com_Items.AddBar(com_Items.InsertItem(h,,"Item 1"),"Task",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/14/2020",213))); com_Items.AddBar(com_Items.InsertItem(h,,"Item 2"),"Task",COMVariant::createFromDate(str2Date("10/10/2020",213)),COMVariant::createFromDate(str2Date("10/17/2020",213))); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Project B"); com_Items.AddBar(com_Items.InsertItem(h,,"Item 1"),"C",COMVariant::createFromDate(str2Date("10/13/2020",213)),COMVariant::createFromDate(str2Date("10/20/2020",213))); com_Items.AddBar(com_Items.InsertItem(h,,"Item 2"),"C",COMVariant::createFromDate(str2Date("10/15/2020",213)),COMVariant::createFromDate(str2Date("10/23/2020",213))); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2157 |
I want to display two lines/curves in the histogram-area such as expected and actual work effor per month. How can I do that (flat)
// BarResize event - Occurs when a bar is moved or resized. void onEvent_BarResize(int _Item,COMVariant _Key) { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemBar(_Item,_Key,21/*exBarEffort*/,com_Items.ItemBar(_Item,_Key,12/*exBarPercent*/)); com_Items.ItemBar(_Item,"C",21/*exBarEffort*/,COMVariant::createFromInt(1)); } public void init() { COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/5/2020",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.LevelCount(2); com_Chart.HistogramHeight(96); com_Chart.HistogramVisible(true); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("Task%Progress"); com_Bar = var_Bar; com_Bar.HistogramPattern(2048/*exRectangularCurve*/); com_Bar.HistogramItems(-4); com_Bar.HistogramBorderSize(1); com_Bar.HistogramBorderColor(com_Bar.Color()); com_Bar.Shortcut("P"); com_Bar.Def(14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true)); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar1 = COM::createFromObject(com_Bars).Copy("Task","C"); com_Bar1 = var_Bar1; com_Bar1.HistogramPattern(2048/*exRectangularCurve*/); com_Bar1.HistogramColor(WinApi::RGB2int(255,0,0)); com_Bar1.HistogramBorderSize(2); COM::createFromVariant(exg2antt1.Columns().Add("Tasks")).FormatColumn("`Task ` + (1 index ``)"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem(); com_Items.AddBar(h,"P",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/14/2020",213)),"P"); com_Items.ItemBar(h,"P",12/*exBarPercent*/,COMVariant::createFromReal(0.5)); com_Items.AddBar(h,"C",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/14/2020",213)),"C"); com_Items.ItemBar(h,"C",19/*exBarTransparent*/,COMVariant::createFromInt(100)); com_Items.GroupBars(h,"P",true,h,"C",true); com_Items.GroupBars(h,"P",false,h,"C",false); h = com_Items.AddItem(); com_Items.AddBar(h,"P",COMVariant::createFromDate(str2Date("10/10/2020",213)),COMVariant::createFromDate(str2Date("10/17/2020",213)),"P"); com_Items.ItemBar(h,"P",12/*exBarPercent*/,COMVariant::createFromReal(0.75)); com_Items.AddBar(h,"C",COMVariant::createFromDate(str2Date("10/10/2020",213)),COMVariant::createFromDate(str2Date("10/17/2020",213)),"C"); com_Items.ItemBar(h,"C",19/*exBarTransparent*/,COMVariant::createFromInt(100)); com_Items.GroupBars(h,"P",true,h,"C",true); com_Items.GroupBars(h,"P",false,h,"C",false); h = com_Items.AddItem(); com_Items.AddBar(h,"P",COMVariant::createFromDate(str2Date("10/13/2020",213)),COMVariant::createFromDate(str2Date("10/20/2020",213)),"P"); com_Items.ItemBar(h,"P",12/*exBarPercent*/,COMVariant::createFromReal(0.25)); com_Items.AddBar(h,"C",COMVariant::createFromDate(str2Date("10/13/2020",213)),COMVariant::createFromDate(str2Date("10/20/2020",213)),"C"); com_Items.ItemBar(h,"C",19/*exBarTransparent*/,COMVariant::createFromInt(100)); com_Items.GroupBars(h,"P",true,h,"C",true); com_Items.GroupBars(h,"P",false,h,"C",false); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2156 |
Is it possible to show the filterbar on top of the rows
public void init() { COM com_Column,com_Column1,com_Items; anytype var_Column,var_Column1,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.FilterBarPromptVisible(8192/*exFilterBarTop*/); exg2antt1.HeaderHeight(24); exg2antt1.FilterBarHeight(exg2antt1.HeaderHeight()); exg2antt1.HeaderAppearance(1/*Flat*/); exg2antt1.DrawGridLines(-1/*exAllLines*/); exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Column")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.FilterType(3/*exPattern*/); com_Column.Filter("B*"); var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Index")); com_Column1 = var_Column1; com_Column1.FormatColumn("1 index ``"); com_Column1.Position(0); com_Column1.Width(48); com_Column1.AllowSizing(false); com_Column1.SortType(1/*SortNumeric*/); com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("A.1"); com_Items.AddItem("A.2"); com_Items.AddItem("B.1"); com_Items.AddItem("B.2"); com_Items.AddItem("B.3"); com_Items.AddItem("C"); exg2antt1.ApplyFilter(); exg2antt1.EndUpdate(); } |
2155 |
The deadline symbol is now a white arrow and it is difficult to see. I want to create a green or black arrow for showing deadline
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Deadline"); com_Bar = var_Bar; com_Bar.StartColor(WinApi::RGB2int(0,128,0)); com_Bar.StartShape(12/*exShapeIconDown3*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task"),"Deadline",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2154 |
DragDrop (with visual effect)
// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. // OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. public void init() { COM com_Items; anytype var_Items; int h; str var_s; ; super(); var_s = "gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGj"; var_s = var_s + "uKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA=="; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); exg2antt1.Background(96/*exListOLEDropPosition*/,0x1000000); exg2antt1.Background(97/*exChartOLEDropPosition*/,WinApi::RGB2int(1,0,0)); exg2antt1.Background(33/*exDragDropBefore*/,WinApi::RGB2int(0,0,0)); exg2antt1.Background(34/*exDragDropAfter*/,WinApi::RGB2int(255,255,255)); exg2antt1.OLEDropMode(1/*exOLEDropManual*/); exg2antt1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.Indent(16); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.Columns().Add("Default"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); print( "You can:" ); print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ); print( "B) right-click to re-arrange the item position inside the same control" ); print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ); } |
2153 |
DragDrop (with no visual effect, hide item while drag and drop)
// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. // OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. public void init() { COM com_Items; anytype var_Items; int h; ; super(); exg2antt1.Background(33/*exDragDropBefore*/,WinApi::RGB2int(0,0,0)); exg2antt1.Background(34/*exDragDropAfter*/,WinApi::RGB2int(255,255,255)); exg2antt1.OLEDropMode(1/*exOLEDropManual*/); exg2antt1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.Indent(16); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.Columns().Add("Default"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); print( "You can:" ); print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ); print( "B) right-click to re-arrange the item position inside the same control" ); print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ); } |
2152 |
DragDrop
// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. // OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events. public void init() { COM com_Items; anytype var_Items; int h; ; super(); exg2antt1.OLEDropMode(1/*exOLEDropManual*/); exg2antt1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.Indent(16); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.Columns().Add("Default"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); print( "You can:" ); print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" ); print( "B) right-click to re-arrange the item position inside the same control" ); print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." ); } |
2151 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)
public void init() { COM com_Column,com_Columns,com_Items; anytype var_Column,var_Columns,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderAppearance(4/*Etched*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Item"); var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column; com_Column.Position(0); com_Column.Width(32); com_Column.AllowSizing(false); com_Column.FormatColumn("1 index ``"); com_Column.AllowSort(false); com_Column.AllowDragging(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item A"); com_Items.AddItem("Item B"); com_Items.AddItem("Item C"); exg2antt1.EndUpdate(); } |
2150 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header
public void init() { COM com_Column,com_Columns,com_Items; anytype var_Column,var_Columns,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.Background(32/*exCursorHoverColumn*/,-1); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Item"); var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column; com_Column.Position(0); com_Column.Width(32); com_Column.AllowSizing(false); com_Column.FormatColumn("1 index ``"); com_Column.AllowSort(false); com_Column.AllowDragging(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item A"); com_Items.AddItem("Item B"); com_Items.AddItem("Item C"); exg2antt1.EndUpdate(); } |
2149 |
How can I detect the last visible item
// SelectionChanged event - Fired after a new item has been selected. void onEvent_SelectionChanged() { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; print( com_Items.NextVisibleItem(com_Items.FocusItem()) ); } public void init() { COM com_Items; anytype var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.AutoDrag(3/*exAutoDragPositionAny*/); exg2antt1.Columns().Add("Column"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.InsertItem(com_Items.AddItem("Item 1"),,"Child 1"); com_Items.AddItem("Item 2"); com_Items.AddItem("Item 3"); com_Items.InsertItem(com_Items.AddItem("Item 4"),,"Child 4"); com_Items.AddItem("Item 5"); exg2antt1.EndUpdate(); } |
2148 |
Is it possible to show the non-working part on the back (behind the item's background)
// CellStateChanged event - Fired after cell's state has been changed. void onEvent_CellStateChanged(int _Item,int _ColIndex) { ; exg2antt1.Refresh(); } public void init() { COM com_Appearance,com_Bar,com_Chart,com_Column,com_ConditionalFormat,com_Items; anytype var_Appearance,var_Bar,var_Chart,var_Column,var_ConditionalFormat,var_Items; int h,hChild; str var_s,var_s1; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/); exg2antt1.SelBackMode(1/*exTransparent*/); exg2antt1.DefaultItemHeight(22); exg2antt1.GridLineStyle(48/*exGridLinesSolid*/); exg2antt1.DrawGridLines(-1/*exAllLines*/); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column; com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); com_Column.PartialCheck(true); var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance; var_s = "gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx"; var_s = var_s + "9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcF"; var_s = var_s + "qXFSLVxNBKAQEBA="; com_Appearance.Add(2,COMVariant::createFromStr(var_s)); var_s1 = "gBFLBCJwBAEHhEJAAEhABTcIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRiBMIxAKIZhzEiJYgGIZxYh8MQER5IEbyBDsBw5AaZZojGRJGi"; var_s1 = var_s1 + "gNIqSxLUhTRKUdQrG4AKQnGhpDgmJYnU5EcrSUKQcw/JaiKYpGZYXpqO5OTzUIyVHDdKgFGKNKwjKiKKp6FofDJcADUcKAYBKFoaLjgS5bXhSGpnV5bFoWdLTVwhBKAQ"; var_s1 = var_s1 + "EBA="; com_Appearance.Add(4,COMVariant::createFromStr(var_s1)); com_Appearance.Add(1,"CP:2 1 1 -1 -1"); com_Appearance.Add(3,"CP:4 1 1 -1 -1"); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.BackColor(0x3000000); com_ConditionalFormat.ChartBackColor(com_ConditionalFormat.BackColor()); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Pattern(1/*exPatternSolid*/); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar; com_Bar.StartShape(0/*exShapeIconEmpty*/); com_Bar.EndShape(0/*exShapeIconEmpty*/); com_Bar.Shape(4/*exShapeSolidDown*/); com_Chart.SelBackColor(exg2antt1.SelBackColor()); com_Chart.SelBarColor(WinApi::RGB2int(128,128,128)); com_Chart.DrawGridLines(-1/*exAllLines*/); com_Chart.NonworkingDaysPattern(1/*exPatternSolid*/); com_Chart.GridLineStyle(304/*exGridLinesBehind | exGridLinesSolid*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project"); hChild = com_Items.InsertItem(h,,"Task 1"); com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213))); com_Items.SelectItem(hChild,true); hChild = com_Items.InsertItem(h,,"Task 2"); com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213))); hChild = com_Items.InsertItem(h,,"Task 3"); com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213))); com_Items.CellState(hChild,COMVariant::createFromInt(0),1); hChild = com_Items.InsertItem(h,,"Task 4"); com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213))); hChild = com_Items.InsertItem(h,,"Task 5"); com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/6/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213))); com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum"); com_Items.DefineSummaryBars(h,"sum",-3,""); com_Items.ExpandItem(h,true); h = com_Items.AddItem("ItemBackColor"); com_Items.AddBar(h,"Progress",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213))); com_Items.ItemBackColor(h,0x18080ff); exg2antt1.Chart().ItemBackColor(h,0x18080ff); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2147 |
How can I hide a bar within the control's overview (sample 1)
public void init() { COM com_Bar,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Default"); exg2antt1.Background(18/*exSplitBar*/,WinApi::RGB2int(190,190,190)); exg2antt1.BackColorLevelHeader(exg2antt1.BackColor()); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,64); com_Chart.OverviewHeight(48); com_Chart.OverviewVisible(73730/*exOverviewSplitter | exOverviewShowMargins | exOverviewShowAllVisible*/); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2020",213))); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","TaskO"); com_Bar = var_Bar; com_Bar.Color(WinApi::RGB2int(255,0,0)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); h = com_Items.AddItem(""); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.ItemBar(h,"K1",41/*exBarOverviewColor*/,COMVariant::createFromInt(-1)); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); com_Items.ItemBar(h,"K2",41/*exBarOverviewColor*/,COMVariant::createFromInt(-1)); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,64); } */ |
2146 |
How can I hide all bars within the control's overview (sample 2)
public void init() { COM com_Bar,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Default"); exg2antt1.Background(18/*exSplitBar*/,WinApi::RGB2int(190,190,190)); exg2antt1.BackColorLevelHeader(exg2antt1.BackColor()); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,64); com_Chart.OverviewHeight(48); com_Chart.OverviewVisible(8705/*exOverviewShowMargins | exOverviewHideBars | exOverviewShowOnlyVisible*/); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2020",213))); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","TaskO"); com_Bar = var_Bar; com_Bar.OverviewColor(-1); com_Bar.Color(WinApi::RGB2int(255,0,0)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); h = com_Items.AddItem(""); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,64); } */ |
2145 |
How can I hide all bars or specified type within the control's overview (sample 3)
public void init() { COM com_Bar,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Default"); exg2antt1.Background(18/*exSplitBar*/,WinApi::RGB2int(190,190,190)); exg2antt1.BackColorLevelHeader(exg2antt1.BackColor()); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,64); com_Chart.OverviewHeight(48); com_Chart.OverviewVisible(73730/*exOverviewSplitter | exOverviewShowMargins | exOverviewShowAllVisible*/); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2020",213))); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","TaskO"); com_Bar = var_Bar; com_Bar.OverviewColor(-1); com_Bar.Color(WinApi::RGB2int(255,0,0)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); h = com_Items.AddItem(""); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"TaskO",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); h = com_Items.AddItem(""); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2020",213)),COMVariant::createFromDate(str2Date("1/12/2020",213)),"K1"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/2/2020",213)),COMVariant::createFromDate(str2Date("12/12/2020",213)),"K2"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,64); } */ |
2144 |
Is it possible to exclude the parent/child items when do the filtering, so to include only items that match the filter without any indentation
// AddItem event - Occurs after a new Item has been inserted to Items collection. void onEvent_AddItem(int _Item) { ; exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213))); } // FilterChange event - Occurs when the filter was changed. void onEvent_FilterChange() { ; exg2antt1.Indent(exg2antt1.FormatABC("value > 0 ? 18 : 0",.Items().MatchItemCount())); } public void init() { COM com_Chart,com_Column,com_Column1,com_Columns,com_Items; anytype var_Chart,var_Column,var_Column1,var_Columns,var_Items; int h,h2; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.Indent(18); exg2antt1.FilterInclude(4/*exMatchingItemsOnly*/); exg2antt1.DrawGridLines(2/*exVLines*/); exg2antt1.HeaderAppearance(1/*Flat*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,164); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; var_Column = COM::createFromVariant(com_Columns.Add("Column")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.FilterType(240/*exFilter*/); com_Column.FilterList(256/*exShowCheckBox*/); com_Column.Filter("C1"); var_Column1 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column1 = var_Column1; com_Column1.FormatColumn("1 rindex ``"); com_Column1.Position(0); com_Column1.AllowSizing(false); com_Column1.AllowDragging(false); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("R1"); h2 = com_Items.InsertItem(h,,"S"); com_Items.InsertItem(h2,,"C1"); com_Items.InsertItem(h2,,"C2"); com_Items.InsertItem(h,,"C1"); com_Items.InsertItem(h,,"C2"); com_Items.ExpandItem(h,true); h = com_Items.AddItem("R2"); com_Items.InsertItem(h,,"C1"); com_Items.InsertItem(h,,"C2"); exg2antt1.ApplyFilter(); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,164); } */ |
2143 |
I am using the Chart.AllowResizeChart property. How can I customize the labels into the chart's levels
public void init() { COM com_Chart,com_Items; anytype var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/); com_Chart.Label(0/*exYear*/,"year"); com_Chart.Label(1/*exHalfYear*/,""); com_Chart.Label(2/*exQuarterYear*/,""); com_Chart.Label(16/*exMonth*/,"month"); com_Chart.Label(17/*exThirdMonth*/,""); com_Chart.Label(256/*exWeek*/,"week"); com_Chart.Label(4096/*exDay*/,"day"); com_Chart.Label(65536/*exHour*/,"hour"); com_Chart.Label(1048576/*exMinute*/,""); com_Chart.Label(16777216/*exSecond*/,""); com_Chart.ShowNonworkingDates(false); com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,48); com_Chart.UnitWidth(32); com_Chart.UnitScale(4096/*exDay*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task A"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1"); com_Items.AddBar(com_Items.AddItem("Task B"),"Task",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K1"); com_Items.AddBar(com_Items.AddItem("Task C"),"Task",COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),"K1"); com_Items.AddBar(com_Items.AddItem(""),"",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"Info","Click the <b>middle</b> mouse button and start dragging"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,48); } */ |
2142 |
Is it possible to display the header using multiple lines, while chart display multiple levels (sample 2)
// AddColumn event - Fired after a new column has been added. void onEvent_AddColumn(COM _Column) { // Column.Def(52) = 4 // Column.Def(53) = 4 ; } public void init() { COM com_Chart,com_Columns; anytype var_Chart,var_Columns; ; super(); exg2antt1.BeginUpdate(); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(true,256); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(1/*Flat*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Column"); COM::createFromVariant(com_Columns.Add("C1")).HTMLCaption("<b>C<off 4>1</b><br>left"); COM::createFromVariant(com_Columns.Add("C2")).HTMLCaption("<c><b>C<off 4>2</b><br><c>center"); COM::createFromVariant(com_Columns.Add("C3")).HTMLCaption("<r><b>C<off 4>3</b><br><r>right"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(true,256); } */ |
2141 |
Is there any way to control the z-order of a TimeZone
public void init() { COM com_Chart; anytype var_Chart; ; super(); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,0); com_Chart.UnitWidth(15); com_Chart.LevelCount(2); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2009",213))); com_Chart.MarkTimeZone("Top",COMVariant::createFromDate(str2Date("1/1/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromInt(16711680),"1;;<fgcolor=FFFFFF>Top;1"); com_Chart.MarkTimeZone("Partial",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/12/2010",213)),COMVariant::createFromInt(16711680),"50;;<fgcolor=FFFFFF>Partial;1"); com_Chart.MarkTimeZone("Default",COMVariant::createFromDate(str2Date("1/15/2010",213)),COMVariant::createFromDate(str2Date("1/19/2010",213)),COMVariant::createFromInt(16711680),";;<fgcolor=FFFFFF>Default;1"); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,0); } */ |
2140 |
Is it possible to display the header using multiple lines, while chart display multiple levels (sample 1)
|
2139 |
Difference between HistogramValueFromPoint and HistogramValue (sample 2)
// MouseMove event - Occurs when the user moves the mouse. void onEvent_MouseMove(int _Button,int _Shift,int _X,int _Y) { COM com_Chart; COMVariant format; Real v1,v2,vMax,vMin; anytype var_Chart; ; var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; v1 = com_Chart.HistogramValueFromPoint(-1,-1); v2 = com_Chart.HistogramValue(com_Chart.DateFromPoint(-1,-1)); vMin = com_Chart.HistogramValue("min"); vMax = com_Chart.HistogramValue("max"); format = exg2antt1.FormatABC("`<b>ValueFromPoint</b>: ` + A + `<br>ValueFromDate: ` + B",v1,v2); format = exg2antt1.FormatABC("A + `<br>Min: ` + B + `<br>Max: ` + C",format,vMin,vMax); exg2antt1.ShowToolTip(format,,,"16","16"); } public void init() { COM com_Bar,com_Chart,com_Items; COMVariant format; Real v1,v2,vMax,vMin; anytype var_Bar,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstWeekDay(1/*exMonday*/); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,40); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/9/2005",213))); com_Chart.HistogramVisible(true); com_Chart.HistogramView(8304/*exHistogramGroupCumulative | exHistogramAllItems*/); com_Chart.HistogramHeight(128); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.HistogramPattern(com_Bar.Pattern()); com_Bar.HistogramType(256/*exHistCumulative*/); com_Bar.HistogramItems(-6); com_Bar.HistogramRulerLinesColor(WinApi::RGB2int(0,0,1)); com_Bar.HistogramBorderSize(1); com_Bar.HistogramBorderColor(WinApi::RGB2int(0,0,1)); com_Bar.HistogramCumulativeOriginalColorBars(0/*exChangeColor*/); com_Bar.HistogramCumulativeShowLegend(-1); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/10/2005",213)),COMVariant::createFromDate(str2Date("6/14/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/11/2005",213)),COMVariant::createFromDate(str2Date("6/15/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/12/2005",213)),COMVariant::createFromDate(str2Date("6/16/2005",213)),""); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,40); } */ |
2138 |
Difference between HistogramValueFromPoint and HistogramValue (sample 1)
// MouseMove event - Occurs when the user moves the mouse. void onEvent_MouseMove(int _Button,int _Shift,int _X,int _Y) { COM com_Chart; COMVariant format; Real v1,v2,vMax,vMin; anytype var_Chart; ; var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; v1 = com_Chart.HistogramValueFromPoint(-1,-1); v2 = com_Chart.HistogramValue(com_Chart.DateFromPoint(-1,-1)); vMin = com_Chart.HistogramValue("min"); vMax = com_Chart.HistogramValue("max"); format = exg2antt1.FormatABC("`<b>ValueFromPoint</b>: ` + A + `<br>ValueFromDate: ` + B",v1,v2); format = exg2antt1.FormatABC("A + `<br>Min: ` + B + `<br>Max: ` + C",format,vMin,vMax); exg2antt1.ShowToolTip(format,,,"16","16"); } public void init() { COM com_Bar,com_Chart,com_Items; COMVariant format; Real v1,v2,vMax,vMin; anytype var_Bar,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstWeekDay(1/*exMonday*/); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,40); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/9/2005",213))); com_Chart.HistogramVisible(true); com_Chart.HistogramView(112/*exHistogramAllItems*/); com_Chart.HistogramHeight(128); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.HistogramPattern(com_Bar.Pattern()); com_Bar.HistogramType(0/*exHistOverload*/); com_Bar.HistogramItems(-6); com_Bar.HistogramRulerLinesColor(WinApi::RGB2int(0,0,1)); com_Bar.HistogramBorderSize(1); com_Bar.HistogramBorderColor(WinApi::RGB2int(0,0,1)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/10/2005",213)),COMVariant::createFromDate(str2Date("6/14/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/11/2005",213)),COMVariant::createFromDate(str2Date("6/15/2005",213)),""); com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("6/12/2005",213)),COMVariant::createFromDate(str2Date("6/16/2005",213)),""); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,40); } */ |
2137 |
I am using the Inside-Zoom feature, but the inside grid lines are more dashed the dotted
|
2136 |
I am using expressions for exBarEffort, but the histogram does not show correctly the data
public void init() { COM com_Bar,com_Bars,com_Chart,com_InsideZoom,com_InsideZoomFormat,com_InsideZooms,com_Items; anytype var_Bar,var_Bars,var_Chart,var_InsideZoom,var_InsideZoomFormat,var_InsideZooms,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/5/2020",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.LevelCount(2); com_Chart.HistogramHeight(96); com_Chart.HistogramVisible(true); com_Chart.AllowInsideZoom(true); com_Chart.DrawGridLines(-1/*exAllLines*/); var_InsideZooms = COM::createFromObject(com_Chart.InsideZooms()); com_InsideZooms = var_InsideZooms; var_InsideZoom = COM::createFromObject(com_InsideZooms).Add(COMVariant::createFromDate(str2Date("10/7/2020",213))); com_InsideZoom = var_InsideZoom; com_InsideZoom.Width(196); var_InsideZoomFormat = COM::createFromObject(com_Chart.DefaultInsideZoomFormat()); com_InsideZoomFormat = var_InsideZoomFormat; com_InsideZoomFormat.GridLineStyle(48/*exGridLinesSolid*/); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Item("Task"); com_Bar = var_Bar; com_Bar.HistogramPattern(com_Bar.Pattern()); com_Bar.Def(3/*exBarCaption*/,"<%=%0%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); com_Bar.Def(21/*exBarEffort*/,"(hour(value) > 5 and hour(value) < 18) ? 2 : 0"); com_Chart.HistogramUnitScale(65536/*exHour*/); COM::createFromVariant(exg2antt1.Columns().Add("Tasks")).FormatColumn("`Task ` + (1 index ``)"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem(""),"Task",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/12/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"Task",COMVariant::createFromDate(str2Date("10/8/2020",213)),COMVariant::createFromDate(str2Date("10/13/2020",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2135 |
How can I specify the z-order of bars to be shown within the chart's histogram
public void init() { COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/5/2020",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.LevelCount(2); com_Chart.HistogramHeight(96); com_Chart.HistogramVisible(true); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("A"); com_Bar = var_Bar; com_Bar.Color(WinApi::RGB2int(0,0,255)); com_Bar.HistogramPattern(1/*exPatternSolid*/); com_Bar.HistogramItems(-6); com_Bar.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/); com_Bar.Def(3/*exBarCaption*/,"<%=%0%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar1 = COM::createFromObject(com_Bars).Copy("A","B"); com_Bar1 = var_Bar1; com_Bar1.Color(WinApi::RGB2int(0,255,0)); com_Bar1.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/); com_Bar1.Def(3/*exBarCaption*/,"<%=%0%>"); com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); com_Chart.HistogramView(8304/*exHistogramGroupCumulative | exHistogramAllItems*/); com_Chart.HistogramZOrder("A,B"); COM::createFromVariant(exg2antt1.Columns().Add("Tasks")).FormatColumn("`Task ` + (1 index ``)"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem(""),"A",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/12/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"A",COMVariant::createFromDate(str2Date("10/8/2020",213)),COMVariant::createFromDate(str2Date("10/13/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"B",COMVariant::createFromDate(str2Date("10/9/2020",213)),COMVariant::createFromDate(str2Date("10/14/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"B",COMVariant::createFromDate(str2Date("10/10/2020",213)),COMVariant::createFromDate(str2Date("10/15/2020",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2134 |
How can I show cumulative histogram for two or more different types of bars
public void init() { COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/5/2020",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.LevelCount(2); com_Chart.HistogramHeight(96); com_Chart.HistogramVisible(true); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("A"); com_Bar = var_Bar; com_Bar.Color(WinApi::RGB2int(0,0,255)); com_Bar.HistogramPattern(1/*exPatternSolid*/); com_Bar.HistogramItems(-6); com_Bar.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/); com_Bar.Def(3/*exBarCaption*/,"<%=%0%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar1 = COM::createFromObject(com_Bars).Copy("A","B"); com_Bar1 = var_Bar1; com_Bar1.Color(WinApi::RGB2int(0,255,0)); com_Bar1.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/); com_Bar1.Def(3/*exBarCaption*/,"<%=%0%>"); com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); com_Chart.HistogramView(8304/*exHistogramGroupCumulative | exHistogramAllItems*/); COM::createFromVariant(exg2antt1.Columns().Add("Tasks")).FormatColumn("`Task ` + (1 index ``)"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem(""),"A",COMVariant::createFromDate(str2Date("10/7/2020",213)),COMVariant::createFromDate(str2Date("10/12/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"A",COMVariant::createFromDate(str2Date("10/8/2020",213)),COMVariant::createFromDate(str2Date("10/13/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"B",COMVariant::createFromDate(str2Date("10/9/2020",213)),COMVariant::createFromDate(str2Date("10/14/2020",213))); com_Items.AddBar(com_Items.AddItem(""),"B",COMVariant::createFromDate(str2Date("10/10/2020",213)),COMVariant::createFromDate(str2Date("10/15/2020",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2133 |
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that
public void init() { COM com_Column,com_Column1,com_ConditionalFormat,com_Items; anytype var_Column,var_Column1,var_ConditionalFormat,var_Items; int h; str var_s; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.DrawGridLines(1/*exHLines*/); exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/); var_s = "gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXh"; var_s = var_s + "aI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA=="; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Default")); com_Column = var_Column; com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); com_Column.PartialCheck(true); var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Position")); com_Column1 = var_Column1; com_Column1.FormatColumn("((1 rindex ``) contains `.`) = 0"); com_Column1.Visible(false); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%C1"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.BackColor(0x1e0e0e0); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root 1"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.InsertItem(h,,"Child 3"); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Root 2"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); h = com_Items.AddItem("Root 3"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); exg2antt1.EndUpdate(); } |
2132 |
I can not center or align the cell's caption and icon, when it displays the hierarchy
public void init() { COM com_Column,com_Items; anytype var_Column,var_Items; int h,hChild; str var_s; ; super(); exg2antt1.BeginUpdate(); var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql"; var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0"; var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN"; var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="; exg2antt1.Images(COMVariant::createFromStr(var_s)); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column; com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1)); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project"); hChild = com_Items.InsertItem(h,,"<img>1</img> Task (left)"); hChild = com_Items.InsertItem(h,,"<c><img>2</img> Task (center)"); hChild = com_Items.InsertItem(h,,"<r>Task (right) <img>3</img>"); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } |
2131 |
How do I mask for float/integer number
public void init() { COM com_Editor,com_Editor1,com_Editor2,com_Editor3,com_Editor4,com_Editor5,com_Editor6,com_Editor7,com_Editor8,com_Items; anytype var_Editor,var_Editor1,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.ColumnAutoResize(true); COM::createFromVariant(exg2antt1.Columns().Add("Type")).Width(32); exg2antt1.Columns().Add("Editor"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Integer"); com_Items.CellValue(h,COMVariant::createFromInt(1),"12"); var_Editor = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor = var_Editor; com_Editor.EditType(1/*EditType*/); com_Editor.Numeric(-1/*exInteger*/); h = com_Items.AddItem("Integer (mask, group)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"10002"); com_Items.FormatCell(h,COMVariant::createFromInt(1),"value format `0||`"); var_Editor1 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor1 = var_Editor1; com_Editor1.EditType(8/*MaskType*/); com_Editor1.Mask(";;;float,digits=0,invalid=empty,warning=invalid character"); h = com_Items.AddItem("Integer (mask, no group)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"10002"); com_Items.FormatCell(h,COMVariant::createFromInt(1),"value format `0|0|`"); var_Editor2 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor2 = var_Editor2; com_Editor2.EditType(8/*MaskType*/); com_Editor2.Mask(";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"); h = com_Items.AddItem("Float"); com_Items.CellValue(h,COMVariant::createFromInt(1),"+12.34E+2"); var_Editor3 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor3 = var_Editor3; com_Editor3.EditType(1/*EditType*/); com_Editor3.Numeric(1/*exFloat*/); h = com_Items.AddItem("Float (no signs)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"12.34E-2"); var_Editor4 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor4 = var_Editor4; com_Editor4.EditType(1/*EditType*/); com_Editor4.Numeric(769/*exDisableSigns | exFloat*/); h = com_Items.AddItem("Float-Integer"); com_Items.CellValue(h,COMVariant::createFromInt(1),"+12.34"); var_Editor5 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor5 = var_Editor5; com_Editor5.EditType(1/*EditType*/); com_Editor5.Numeric(2/*exFloatInteger*/); h = com_Items.AddItem("Float-Integer (no signs)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"12.34"); var_Editor6 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor6 = var_Editor6; com_Editor6.EditType(1/*EditType*/); com_Editor6.Numeric(770/*exDisableSigns | exFloatInteger*/); h = com_Items.AddItem("Float (mask,group)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"10002.34"); com_Items.FormatCell(h,COMVariant::createFromInt(1),"value format `2`"); var_Editor7 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor7 = var_Editor7; com_Editor7.EditType(8/*MaskType*/); com_Editor7.Mask(";;;float,invalid=empty,warning=invalid character"); h = com_Items.AddItem("Float (mask, no group)"); com_Items.CellValue(h,COMVariant::createFromInt(1),"10002.34"); com_Items.FormatCell(h,COMVariant::createFromInt(1),"value format `2|0|`"); var_Editor8 = com_Items.CellEditor(h,COMVariant::createFromInt(1)); com_Editor8 = var_Editor8; com_Editor8.EditType(8/*MaskType*/); com_Editor8.Mask(";;;float,grouping=,invalid=empty,warning=invalid character"); exg2antt1.EndUpdate(); } |
2130 |
Is it possible to offset (horizontally) the bar's caption
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("HOffset"); exg2antt1.HeaderAppearance(1/*Flat*/); exg2antt1.ScrollBySingleLine(true); exg2antt1.DrawGridLines(-2/*exRowLines*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.DrawGridLines(-2/*exRowLines*/); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/16/2000",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Pattern(32/*exPatternBox*/); com_Bar.Color(WinApi::RGB2int(164,164,164)); com_Bar.StartColor(WinApi::RGB2int(240,240,240)); com_Bar.EndColor(com_Bar.StartColor()); com_Bar.Height(15); com_Bar.Def(3/*exBarCaption*/,"label"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("right"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213))); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(2)); h = com_Items.AddItem("right - 4"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213))); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(2)); com_Items.ItemBar(h,"",58/*exBarCaptionHOffset*/,COMVariant::createFromInt(-4)); h = com_Items.AddItem("left"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213))); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(0)); h = com_Items.AddItem("left + 4"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213))); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(0)); com_Items.ItemBar(h,"",58/*exBarCaptionHOffset*/,COMVariant::createFromInt(4)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2129 |
Is it possible to always center the bar's caption (even if the item-bar is partially visible)
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Align"); exg2antt1.HeaderAppearance(1/*Flat*/); exg2antt1.ScrollBySingleLine(true); exg2antt1.DrawGridLines(-2/*exRowLines*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.DrawGridLines(-2/*exRowLines*/); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/23/2000",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Pattern(32/*exPatternBox*/); com_Bar.Color(WinApi::RGB2int(164,164,164)); com_Bar.StartColor(WinApi::RGB2int(240,240,240)); com_Bar.EndColor(com_Bar.StartColor()); com_Bar.Height(15); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("default"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213)),"","label"); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(1)); h = com_Items.AddItem("default + 32"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/22/2000",213)),COMVariant::createFromDate(str2Date("12/27/2000",213)),"","label"); com_Items.ItemBar(h,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(33)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2128 |
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse. void onEvent_MouseMove(int _Button,int _Shift,int _X,int _Y) { int i; ; i = exg2antt1.ItemFromPoint(-1,-1,c,hit); print( i ); print( exg2antt1.Items().ItemData(i) ); } public void init() { COM com_Items,com_Items1; anytype var_Items,var_Items1; int i; ; super(); exg2antt1.BeginUpdate(); exg2antt1.ColumnAutoResize(true); exg2antt1.Columns().Add("Default"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.ItemData(com_Items.AddItem("method 1"),"your extra data of method 1"); com_Items.InsertItem(0,"your extra data of method 2","method 2"); var_Items1 = exg2antt1.Items(); com_Items1 = var_Items1; com_Items1.DefaultItem(com_Items1.AddItem("method 3")); com_Items1.ItemData(0,"your extra data of method 3"); exg2antt1.EndUpdate(); } |
2127 |
Is it possible to show the position of rows the into the chart section
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed). void onEvent_BeforeExpandItem(int _Item,COMVariant /*variant*/ _Cancel) { ; exg2antt1.Refresh(); } public void init() { COM com_Bar,com_Chart,com_Column,com_Items; anytype var_Bar,var_Chart,var_Column,var_Items; int h,h1; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Indent(16); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.HasLines(1/*exSolidLine*/); exg2antt1.DrawGridLines(1/*exHLines*/); exg2antt1.ScrollBySingleLine(true); exg2antt1.FullRowSelect(0/*exColumnSel*/); exg2antt1.Columns().Add("Tasks"); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column = var_Column; com_Column.Visible(false); com_Column.FormatColumn("`<r><bgcolor 000000><fgcolor FFFFFF> ` + 1 apos `` + ` </fgcolor></bgcolor>`"); com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1)); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.ColumnsFormatLevel(",|,1:64"); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213))); com_Chart.ShowCollapsedBars(true); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,128); com_Chart.DrawGridLines(1/*exHLines*/); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.OverlaidType(3/*exOverlaidBarsStack*/); com_Bar.Color(WinApi::RGB2int(0,0,0)); com_Bar.StartColor(WinApi::RGB2int(196,196,196)); com_Bar.EndColor(WinApi::RGB2int(196,196,196)); com_Bar.Pattern(32/*exPatternBox*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project 1"); h1 = com_Items.InsertItem(h,,"Resources"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C"); h = com_Items.AddItem("Project 2"); h1 = com_Items.InsertItem(h,,"Resources"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C"); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,128); } */ |
2126 |
I do not like to specify the item padding for every column I add. The question is how can I do it automatically
public void init() { COM com_Column,com_Columns,com_Items; anytype var_Column,var_Columns,var_Items; ; super(); exg2antt1.BeginUpdate(); exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}"); exg2antt1.HeaderAppearance(4/*Etched*/); exg2antt1.DrawGridLines(-1/*exAllLines*/); exg2antt1.GridLineStyle(32/*exGridLinesVSolid*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Item"); var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column; com_Column.Position(0); com_Column.Width(32); com_Column.AllowSizing(false); com_Column.FormatColumn("1 index ``"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item A"); com_Items.AddItem("Item B"); com_Items.AddItem("Item C"); exg2antt1.EndUpdate(); } |
2125 |
Stack vs Cascade
public void init() { COM com_Bar,com_Bars,com_Chart,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.ScrollBySingleLine(true); exg2antt1.HeaderAppearance(1/*Flat*/); exg2antt1.Columns().Add("Type"); exg2antt1.BackColorAlternate(WinApi::RGB2int(240,240,240)); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); com_Chart.AllowCreateBar(1/*exCreateBarAuto*/); com_Chart.AllowLinkBars(false); com_Chart.ResizeUnitScale(65536/*exHour*/); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,128); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","Stack"); com_Bar = var_Bar; com_Bar.OverlaidType(3/*exOverlaidBarsStack*/); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","AStack"); com_Bar = var_Bar; com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Copy("Task","Cascade"); com_Bar = var_Bar; com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Stack"); com_Items.AddBar(h,"Stack",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1"); com_Items.AddBar(h,"Stack",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2"); com_Items.AddBar(h,"Stack",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3"); com_Items.AddBar(h,"Stack",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A4"); com_Items.AddBar(h,"Stack",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A5"); com_Items.AddItem(); h = com_Items.AddItem("Stack-AutoArrange"); com_Items.AddBar(h,"AStack",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1"); com_Items.AddBar(h,"AStack",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2"); com_Items.AddBar(h,"AStack",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3"); com_Items.AddBar(h,"AStack",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A4"); com_Items.AddBar(h,"AStack",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A5"); com_Items.AddItem(); h = com_Items.AddItem("Cascade"); com_Items.AddBar(h,"Cascade",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1"); com_Items.AddBar(h,"Cascade",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2"); com_Items.AddBar(h,"Cascade",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3"); com_Items.AddBar(h,"Cascade",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A4"); com_Items.AddBar(h,"Cascade",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A5"); com_Items.AddItem(); com_Items.ItemBar(0,"<*>",3/*exBarCaption*/,"<%=%9%>"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2124 |
How can I change the Exclude field in the drop down filter window
public void init() { COM com_Column,com_Items; anytype var_Column,var_Items; int h; str var_s; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); var_s = "gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnTb"; var_s = var_s + "uHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1ATC"; var_s = var_s + "gCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA=="; exg2antt1.HTMLPicture("exclude",COMVariant::createFromStr(var_s)); exg2antt1.Description(25/*exFilterBarExclude*/,"<img>exclude</img>"); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.DisplayFilterPattern(false); com_Column.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root 1"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Root 2"); com_Items.InsertItem(h,,"Child 1"); exg2antt1.EndUpdate(); } |
2123 |
How can I change the Exclude field in the drop down filter window
public void init() { COM com_Column,com_Items; anytype var_Column,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.Description(25/*exFilterBarExclude*/,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column; com_Column.DisplayFilterButton(true); com_Column.DisplayFilterPattern(false); com_Column.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Root 1"); com_Items.InsertItem(h,,"Child 1"); com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Root 2"); com_Items.InsertItem(h,,"Child 1"); exg2antt1.EndUpdate(); } |
2122 |
The grid lines looks different then before. What should I do
public void init() { COM com_Column,com_Items; anytype var_Column,var_Items; int h,hChild; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column; com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); com_Column.PartialCheck(true); exg2antt1.DrawGridLines(-1/*exAllLines*/); exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/); exg2antt1.Chart().DrawGridLines(exg2antt1.DrawGridLines()); exg2antt1.Chart().GridLineStyle(exg2antt1.GridLineStyle()); exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project"); hChild = com_Items.InsertItem(h,,"Task 1"); com_Items.SelectItem(hChild,true); hChild = com_Items.InsertItem(h,,"Task 2"); com_Items.CellState(hChild,COMVariant::createFromInt(0),1); hChild = com_Items.InsertItem(h,,"Task 3"); com_Items.CellState(hChild,COMVariant::createFromInt(0),1); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } |
2121 |
How can I hide the task/bar's extra-caption
public void init() { COM com_Bar,com_Chart,com_Column,com_Editor,com_Items; anytype var_Bar,var_Chart,var_Column,var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2011",213))); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Def(44/*exBarExtraCaption*/,"<%=%C0%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); com_Bar.Def(45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(16)); exg2antt1.Columns().Add("Task"); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Show")); com_Column = var_Column; var_Editor = com_Column.Editor(); com_Editor = var_Editor; com_Editor.EditType(19/*CheckValueType*/); com_Editor.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1)); com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(57)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AllowCellValueToItemBar(true); com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2011",213)),COMVariant::createFromDate(str2Date("1/7/2011",213))); com_Items.ItemBar(com_Items.FirstVisibleItem(),"",57/*exBarShowExtraCaption*/,COMVariant::createFromBoolean(false)); com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2011",213)),COMVariant::createFromDate(str2Date("1/8/2011",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2120 |
How can I hide the task/bar's caption
public void init() { COM com_Bar,com_Chart,com_Column,com_Editor,com_Items; anytype var_Bar,var_Chart,var_Column,var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2011",213))); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Def(3/*exBarCaption*/,"<%=%C0%>"); com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18)); exg2antt1.Columns().Add("Task"); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Show")); com_Column = var_Column; var_Editor = com_Column.Editor(); com_Editor = var_Editor; com_Editor.EditType(19/*CheckValueType*/); com_Editor.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1)); com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(56)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AllowCellValueToItemBar(true); com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2011",213)),COMVariant::createFromDate(str2Date("1/7/2011",213))); com_Items.ItemBar(com_Items.FirstVisibleItem(),"",56/*exBarShowCaption*/,COMVariant::createFromBoolean(false)); com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2011",213)),COMVariant::createFromDate(str2Date("1/8/2011",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2119 |
Can I sort the column by check-state
public void init() { COM com_Column,com_Column1,com_Items; anytype var_Column,var_Column1,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Check")); com_Column = var_Column; com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); com_Column.SortType(32/*exSortByState*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(); com_Items.CellState(com_Items.AddItem(),COMVariant::createFromInt(0),1); com_Items.CellState(com_Items.AddItem(),COMVariant::createFromInt(0),1); com_Items.AddItem(); var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.SortOrder(1/*SortAscending*/); exg2antt1.EndUpdate(); } |
2118 |
Can I sort the column by image
public void init() { COM com_Column,com_Column1,com_Items; anytype var_Column,var_Column1,var_Items; str var_s; ; super(); exg2antt1.BeginUpdate(); var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql"; var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0"; var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN"; var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="; exg2antt1.Images(COMVariant::createFromStr(var_s)); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Image")); com_Column = var_Column; com_Column.SortType(48/*exSortByImage*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),3); com_Items.AddItem(); com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),1); com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),2); var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.SortOrder(1/*SortAscending*/); exg2antt1.EndUpdate(); } |
2117 |
Can I sort the column by value(numeric)
public void init() { COM com_Column,com_Column1,com_Items; anytype var_Column,var_Column1,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Value")); com_Column = var_Column; com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1)); com_Column.FormatColumn("`<fgcolor=808080><off 4><font ;6> ` + (1 index ``) + ` </font></off></fgcolor>` + value"); com_Column.SortType(17/*exSortByValue | SortNumeric*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("1"); com_Items.AddItem("10"); com_Items.AddItem("2"); com_Items.AddItem("20"); var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.SortOrder(1/*SortAscending*/); exg2antt1.EndUpdate(); } |
2116 |
Can I sort a column by cell's state (checked, unchecked) rather than caption
public void init() { COM com_Column,com_Column1,com_Editor,com_Items; anytype var_Column,var_Column1,var_Editor,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Check")); com_Column = var_Column; var_Editor = com_Column.Editor(); com_Editor = var_Editor; com_Editor.EditType(19/*CheckValueType*/); com_Editor.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1)); com_Column.SortType(1/*SortNumeric*/); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(COMVariant::createFromBoolean(true)); com_Items.AddItem(COMVariant::createFromBoolean(false)); com_Items.AddItem(COMVariant::createFromBoolean(false)); com_Items.AddItem(COMVariant::createFromBoolean(true)); var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1; com_Column1.SortOrder(1/*SortAscending*/); exg2antt1.EndUpdate(); } |
2115 |
How can I highlight(bold) the items that displays milestones (method 2)
public void init() { COM com_Bar,com_Bars,com_Chart,com_Column,com_Column1,com_Columns,com_ConditionalFormat,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Column,var_Column1,var_Columns,var_ConditionalFormat,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Tasks"); COM::createFromVariant(com_Columns.Add("Start")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1)); COM::createFromVariant(com_Columns.Add("End")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(543)); var_Column = COM::createFromVariant(com_Columns.Add("Days")); com_Column = var_Column; com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258)); com_Column.FormatColumn("value ? value : ``"); var_Column1 = COM::createFromVariant(com_Columns.Add("Type")); com_Column1 = var_Column1; com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(0)); com_Column1.Visible(false); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%4 = `Milestone`"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.Bold(true); com_ConditionalFormat.Italic(true); com_ConditionalFormat.ApplyTo(-1/*exFormatToItems*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2010",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,256); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar; com_Bar.Shortcut("Task"); com_Bar.Def(20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AllowCellValueToItemBar(true); com_Items.AddBar(com_Items.AddItem("M1"),"Milestone",COMVariant::createFromDate(str2Date("9/24/2010",213)),COMVariant::createFromDate(str2Date("9/24/2010",213))); com_Items.AddBar(com_Items.AddItem("T1"),"Task",COMVariant::createFromDate(str2Date("9/24/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); com_Items.AddBar(com_Items.AddItem("T2"),"Task",COMVariant::createFromDate(str2Date("9/27/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); com_Items.AddBar(com_Items.AddItem("M3"),"Milestone",COMVariant::createFromDate(str2Date("9/28/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,256); } */ |
2114 |
How can I highlight(bold) the items that displays milestones (method 1)
public void init() { COM com_Bar,com_Bars,com_Chart,com_Column,com_Columns,com_ConditionalFormat,com_Items; anytype var_Bar,var_Bars,var_Chart,var_Column,var_Columns,var_ConditionalFormat,var_Items; ; super(); exg2antt1.BeginUpdate(); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Tasks"); COM::createFromVariant(com_Columns.Add("Start")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1)); COM::createFromVariant(com_Columns.Add("End")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(543)); var_Column = COM::createFromVariant(com_Columns.Add("Days")); com_Column = var_Column; com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258)); com_Column.FormatColumn("value ? value : ``"); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%3 = 0"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.Bold(true); com_ConditionalFormat.Italic(true); com_ConditionalFormat.ApplyTo(-1/*exFormatToItems*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2010",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,256); var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars; var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar; com_Bar.Shortcut("Task"); com_Bar.Def(20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true)); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AllowCellValueToItemBar(true); com_Items.AddBar(com_Items.AddItem("M1"),"Milestone",COMVariant::createFromDate(str2Date("9/24/2010",213)),COMVariant::createFromDate(str2Date("9/24/2010",213))); com_Items.AddBar(com_Items.AddItem("T1"),"Task",COMVariant::createFromDate(str2Date("9/24/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); com_Items.AddBar(com_Items.AddItem("T2"),"Task",COMVariant::createFromDate(str2Date("9/27/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); com_Items.AddBar(com_Items.AddItem("M3"),"Milestone",COMVariant::createFromDate(str2Date("9/28/2010",213)),COMVariant::createFromDate(str2Date("9/28/2010",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,256); } */ |
2113 |
Bars with gradient shows no border or frame arround. What can be done (method 2)
public void init() { COM com_Bar,com_Bar1,com_Items; anytype var_Bar,var_Bar1,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48); exg2antt1.DefaultItemHeight(24); var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("E1"); com_Bar = var_Bar; com_Bar.Color(WinApi::RGB2int(0,0,0)); com_Bar.StartColor(WinApi::RGB2int(0,255,0)); com_Bar.EndColor(WinApi::RGB2int(255,255,0)); com_Bar.Pattern(96/*exPatternGradientVBox | exPatternBox*/); com_Bar.Height(20); var_Bar1 = COM::createFromObject(exg2antt1.Chart().Bars()).Add("E2"); com_Bar1 = var_Bar1; com_Bar1.Color(WinApi::RGB2int(0,0,0)); com_Bar1.StartColor(WinApi::RGB2int(0,255,0)); com_Bar1.EndColor(WinApi::RGB2int(255,255,0)); com_Bar1.Pattern(96/*exPatternGradientVBox | exPatternBox*/); com_Bar1.Height(20); com_Bar1.Def(53/*exBarBackgroundExt*/,"[frame=RGB(255,0,0),framethick]"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(); h = com_Items.AddItem("no border"); com_Items.AddBar(h,"E1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),""); h = com_Items.AddItem("w/h boder"); com_Items.AddBar(h,"E2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),""); com_Items.AddItem(); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,48); } */ |
2112 |
Bars with gradient shows no border or frame arround. What can be done (method 1)
public void init() { COM com_Bar,com_Items; anytype var_Bar,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48); exg2antt1.DefaultItemHeight(24); var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("E2"); com_Bar = var_Bar; com_Bar.Color(WinApi::RGB2int(0,0,0)); com_Bar.StartColor(WinApi::RGB2int(0,255,0)); com_Bar.EndColor(WinApi::RGB2int(255,255,0)); com_Bar.Pattern(96/*exPatternGradientVBox | exPatternBox*/); com_Bar.Height(20); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(); h = com_Items.AddItem("no border"); com_Items.AddBar(h,"E2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),""); h = com_Items.AddItem("w/h boder"); com_Items.AddBar(h,"E2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),""); com_Items.ItemBar(h,"",53/*exBarBackgroundExt*/,"[frame=RGB(255,0,0),framethick]"); com_Items.AddItem(); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,48); } */ |
2111 |
Is it possible to display auto-numbers (rows-numbers) for non-empty items only
public void init() { COM com_Column,com_Columns,com_Items; anytype var_Column,var_Columns,var_Items; ; super(); exg2antt1.BeginUpdate(); /*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,128); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Items"); var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column; com_Column.FormatColumn("len(%C0) ? 1 pos `` : ``"); com_Column.Position(0); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem("Item A"); com_Items.AddItem(""); com_Items.AddItem("Item B"); com_Items.AddItem(""); com_Items.AddItem("Item C"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,128); } */ |
2110 |
Is it possible to separate the group of items using horizontal-lines (root-items)
public void init() { COM com_Chart,com_Column,com_Column1,com_Columns,com_ConditionalFormat,com_Items; anytype var_Chart,var_Column,var_Column1,var_Columns,var_ConditionalFormat,var_Items; int h; str var_s; ; super(); exg2antt1.BeginUpdate(); var_s = "gBFLBCJwBAEHhEJAAEhABLEIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRiAUbQSKEPxLEiPmqSHIEWwtDiBZgieTpNhAMg1CTNU4RAKoYR"; var_s = var_s + "zBKeZ7kGZIVjKMofURRDpxBBMAkB"; exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s)); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.DefaultItemHeight(24); exg2antt1.SelBackMode(1/*exTransparent*/); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,196); com_Chart.SelBackColor(exg2antt1.SelBackColor()); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; var_Column = COM::createFromVariant(com_Columns.Add("Default")); com_Column = var_Column; com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true)); com_Column.PartialCheck(true); var_Column1 = COM::createFromVariant(com_Columns.Add("Position")); com_Column1 = var_Column1; com_Column1.FormatColumn("1 + ((1 rpos ``) contains `.`)"); com_Column1.Visible(false); var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%C1"); com_ConditionalFormat = var_ConditionalFormat; com_ConditionalFormat.BackColor(0x1000000); com_ConditionalFormat.ChartBackColor(com_ConditionalFormat.BackColor()); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Group 1"); com_Items.AddBar(com_Items.InsertItem(h,,"Child 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213))); com_Items.AddBar(com_Items.InsertItem(h,,"Child 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213))); com_Items.ExpandItem(h,true); h = com_Items.AddItem("Group 2"); com_Items.AddBar(com_Items.InsertItem(h,,"Child 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213))); com_Items.AddBar(com_Items.InsertItem(h,,"Child 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213))); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,196); } */ |
2109 |
How can specify a black pattern for the task
public void init() { COM com_Chart,com_Items; anytype var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.DefaultItemHeight(22); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,0); exg2antt1.Columns().Add("Frames"); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Task"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"bar A"); com_Items.ItemBar(h,"bar A",33/*exBarColor*/,COMVariant::createFromInt(1)); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/14/2001",213)),COMVariant::createFromDate(str2Date("1/24/2001",213)),"bar B"); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,0); } */ |
2108 |
Can I define a bar so it automatically fills the current item/row height (same height)
public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Task"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.Height(-1); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddBar(com_Items.AddItem("Task A"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213))); h = com_Items.AddItem("Task A"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),""); com_Items.ItemBar(h,"",33/*exBarColor*/,COMVariant::createFromInt(255)); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2107 |
How can I highlight a specified date for the entire chart (Method 2)
public void init() { COM com_Chart,com_Items; anytype var_Chart,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.UnitWidth(18); com_Chart.LevelCount(2); com_Chart.MarkTimeZone("zone1",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromInt(0)); com_Chart.MarkTimeZone("zone2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(0),"50"); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem("Task(I)"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"I"); com_Items.AddItem(""); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2106 |
How can I highlight a specified date for the entire chart, including the header (Method 1)
public void init() { COM com_Chart,com_InsideZoom,com_InsideZoomFormat,com_InsideZooms,com_Items; anytype var_Chart,var_InsideZoom,var_InsideZoomFormat,var_InsideZooms,var_Items; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.UnitWidth(18); com_Chart.LevelCount(2); com_Chart.AllowInsideZoom(true); com_Chart.AllowResizeInsideZoom(false); com_Chart.InsideZoomOnDblClick(false); var_InsideZoomFormat = com_Chart.DefaultInsideZoomFormat(); com_InsideZoomFormat = var_InsideZoomFormat; com_InsideZoomFormat.ForeColor(WinApi::RGB2int(255,255,255)); com_InsideZoomFormat.BackColorChart(WinApi::RGB2int(0,0,1)); com_InsideZoomFormat.BackColor(WinApi::RGB2int(0,0,1)); var_InsideZooms = com_Chart.InsideZooms(); com_InsideZooms = var_InsideZooms; com_InsideZooms.SplitBaseLevel(false); com_InsideZooms.DefaultWidth(18); var_InsideZoom = COM::createFromObject(com_InsideZooms.Add(COMVariant::createFromDate(str2Date("1/8/2001",213)))); com_InsideZoom = var_InsideZoom; com_InsideZoom.AllowInsideFormat(false); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem("Task(I)"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"I"); com_Items.AddItem(""); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2105 |
How can I highlight a specified date of a specified item
public void init() { COM com_Chart,com_Items,com_Note,com_Notes; anytype var_Chart,var_Items,var_Note,var_Notes; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.UnitWidth(18); com_Chart.LevelCount(2); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem("Task(D)"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"D"); com_Items.AddItem(""); var_Notes = exg2antt1.Chart().Notes(); com_Notes = var_Notes; var_Note = com_Notes.Add("NoteD",h,COMVariant::createFromDate(str2Date("1/8/2001",213)),"<b><%dd%></b><br><%m%><br><%yy%>"); com_Note = var_Note; com_Note.PartFixedWidth(1/*exNoteEnd*/,18); com_Note.PartShadow(1/*exNoteEnd*/,false); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2104 |
How can I display the start/end of the task within its margins (notes)
public void init() { COM com_Chart,com_Items,com_Note,com_Note1,com_Notes; anytype var_Chart,var_Items,var_Note,var_Note1,var_Notes; int h; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213))); /*should be called during the form's activate method*/ com_Chart.PaneWidth(false,96); com_Chart.UnitWidth(18); com_Chart.LevelCount(2); var_Items = exg2antt1.Items(); com_Items = var_Items; com_Items.AddItem(""); h = com_Items.AddItem("Task(T)"); com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"T"); com_Items.AddItem(""); var_Notes = exg2antt1.Chart().Notes(); com_Notes = var_Notes; var_Note = com_Notes.Add("NoteTS",h,"T",""); com_Note = var_Note; com_Note.ShowLink(0/*exNoteLinkHidden*/); com_Note.PartText(0/*exNoteStart*/,"<%d%>"); com_Note.PartHOffset(0/*exNoteStart*/,9); com_Note.PartFixedWidth(0/*exNoteStart*/,18); var_Note1 = com_Notes.Add("NoteTE",h,"T",""); com_Note1 = var_Note1; com_Note1.RelativePosition("E-1"); com_Note1.ShowLink(0/*exNoteLinkHidden*/); com_Note1.PartText(0/*exNoteStart*/,"<%d%>"); com_Note1.PartHOffset(0/*exNoteStart*/,9); com_Note1.PartFixedWidth(0/*exNoteStart*/,18); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(false,96); } */ |
2103 |
Is it possible to show the tasks not-overlaid when the item is collapsed and overlaid once the user expands the item
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed). void onEvent_BeforeExpandItem(int _Item,COMVariant /*variant*/ _Cancel) { ; exg2antt1.Refresh(); } public void init() { COM com_Bar,com_Chart,com_Items; anytype var_Bar,var_Chart,var_Items; int h,h1; ; super(); exg2antt1.BeginUpdate(); exg2antt1.Indent(16); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.HasLines(1/*exSolidLine*/); exg2antt1.DrawGridLines(1/*exHLines*/); exg2antt1.Columns().Add("Tasks"); var_Chart = exg2antt1.Chart(); com_Chart = var_Chart; com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213))); com_Chart.ShowCollapsedBars(true); com_Chart.LevelCount(2); /*should be called during the form's activate method*/ com_Chart.PaneWidth(0,128); com_Chart.DrawGridLines(1/*exHLines*/); var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar; com_Bar.OverlaidType(3/*exOverlaidBarsStack*/); com_Bar.Color(WinApi::RGB2int(0,0,0)); com_Bar.StartColor(WinApi::RGB2int(196,196,196)); com_Bar.EndColor(WinApi::RGB2int(196,196,196)); com_Bar.Pattern(32/*exPatternBox*/); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Project 1"); h1 = com_Items.InsertItem(h,,"Resources"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C"); h = com_Items.AddItem("Project 2"); h1 = com_Items.InsertItem(h,,"Resources"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B"); com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C"); com_Items.ExpandItem(h,true); exg2antt1.EndUpdate(); } /* public void activate(boolean _active) { ; super(_active); exg2antt1.Chart().PaneWidth(0,128); } */ |
2102 |
Is it possible to display the label of the level without truncating / no clip
|
2101 |
How do I get the item's auto-number, when using FormatColumn property, as CellValue gets empty
// SelectionChanged event - Fired after a new item has been selected. void onEvent_SelectionChanged() { COM com_Items; anytype var_Items; ; var_Items = exg2antt1.Items(); com_Items = var_Items; print( "pos: " ); print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(1)) ); print( "rpos(1): " ); print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(2)) ); print( "rpos(2): " ); print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(3)) ); print( "apos: " ); print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(4)) ); print( "index: " ); print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(5)) ); } public void init() { COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Columns,com_Items; anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Columns,var_Items; int h,hSel; ; super(); exg2antt1.BeginUpdate(); exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/); exg2antt1.DrawGridLines(-2/*exRowLines*/); exg2antt1.HeaderAppearance(4/*Etched*/); var_Columns = exg2antt1.Columns(); com_Columns = var_Columns; com_Columns.Add("Items"); var_Column = COM::createFromVariant(com_Columns.Add("pos")); com_Column = var_Column; com_Column.FormatColumn("1 pos ``"); com_Column.Position(0); com_Column.Width(48); com_Column.AllowSizing(false); var_Column1 = COM::createFromVariant(com_Columns.Add("rpos(1)")); com_Column1 = var_Column1; com_Column1.FormatColumn("1 rpos ``"); com_Column1.Position(1); com_Column1.Width(48); com_Column1.AllowSizing(false); var_Column2 = COM::createFromVariant(com_Columns.Add("rpos(2)")); com_Column2 = var_Column2; com_Column2.FormatColumn("1 rpos `.||A-Z`"); com_Column2.Position(2); com_Column2.Width(48); com_Column2.AllowSizing(false); var_Column3 = COM::createFromVariant(com_Columns.Add("apos")); com_Column3 = var_Column3; com_Column3.FormatColumn("1 apos ``"); com_Column3.Position(3); com_Column3.Width(48); com_Column3.AllowSizing(false); var_Column4 = COM::createFromVariant(com_Columns.Add("index")); com_Column4 = var_Column4; com_Column4.FormatColumn("1 index ``"); com_Column4.Position(4); com_Column4.Width(48); com_Column4.AllowSizing(false); var_Items = exg2antt1.Items(); com_Items = var_Items; h = com_Items.AddItem("Item 1"); com_Items.InsertItem(h,,"Child 1"); hSel = com_Items.InsertItem(h,,"Child 2"); com_Items.ExpandItem(h,true); com_Items.AddItem("Item 2"); com_Items.AddItem("Item 3"); exg2antt1.EndUpdate(); exg2antt1.Items().SelectItem(hSel,true); } |